版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第3章大數(shù)據(jù)采集與預(yù)處理演講人2024/12/24大數(shù)據(jù)采集與預(yù)處理本章學(xué)習(xí)目標(biāo)了解大數(shù)據(jù)的來(lái)源和大數(shù)據(jù)采集的基本方法了解常用的數(shù)據(jù)采集工具熟悉數(shù)據(jù)預(yù)處理的基本方法培養(yǎng)兼收并蓄、去蕪存菁的理念與價(jià)值觀,以及精益求精的工匠精神目錄3.1認(rèn)識(shí)數(shù)據(jù)3.2大數(shù)據(jù)的來(lái)源和采集途徑3.3常用大數(shù)據(jù)采集工具的簡(jiǎn)介3.4數(shù)據(jù)預(yù)處理3.5使用OpenRefine對(duì)數(shù)據(jù)進(jìn)行預(yù)處理3.6小結(jié)3.1認(rèn)識(shí)數(shù)據(jù)
認(rèn)識(shí)數(shù)據(jù)是處理和分析數(shù)據(jù)的前提,不僅要了解數(shù)據(jù)的屬性(維)、類型和量綱,還要了解數(shù)據(jù)的分布特性,洞察數(shù)據(jù)的特征,檢驗(yàn)數(shù)據(jù)的質(zhì)量,以便后續(xù)的分析和處理工作。3.1認(rèn)識(shí)數(shù)據(jù)3.1.1數(shù)據(jù)的屬性和類型
所謂“屬性”是指數(shù)據(jù)對(duì)象的特征,也稱為數(shù)據(jù)字段、維。
如圖3-1所示,iris數(shù)據(jù)集(鳶尾花數(shù)據(jù)集)有4個(gè)屬性(特征),分別為sepallength、sepalwidth、petallength和petalwidth,以及一個(gè)類別屬性class。其中class屬性為標(biāo)稱數(shù)據(jù)(表示類別的標(biāo)稱數(shù)據(jù)),其他4個(gè)屬性為定量數(shù)據(jù)(數(shù)值型數(shù)據(jù))。在數(shù)據(jù)分析領(lǐng)域,數(shù)據(jù)的屬性也被稱為特征、自變量、解釋變量或觀測(cè)值;數(shù)據(jù)的標(biāo)簽也被稱為因變量(如iris數(shù)據(jù)集中的class屬性)。圖3-1iris數(shù)據(jù)集的屬性3.1認(rèn)識(shí)數(shù)據(jù)(1)定性類型
具有定性屬性的數(shù)據(jù)是表示事物性質(zhì)、規(guī)定事物類別的文字表述型數(shù)據(jù)。(1)標(biāo)稱數(shù)據(jù)(NominalData):是一些符號(hào)或事物的名稱,每個(gè)值代表某種類別、編碼或狀態(tài),如性別分類中的“男”“女”;表示顏色的“紅”“黃”“藍(lán)”等。(2)二元數(shù)據(jù)(binary):只有兩個(gè)值或狀態(tài),0或1,又可以稱為布爾屬性(值為true或false)。(3)序值型數(shù)據(jù)(ordinalvariable):其可能的值之間具備有意義的序或秩評(píng)定,如成績(jī){“差”“中”“良”“優(yōu)”}。
以上3種類型都是對(duì)數(shù)據(jù)對(duì)象特征的定性描述,而不給出實(shí)際大小或數(shù)量。數(shù)據(jù)的基本屬性類型可以分為兩大類:定性屬性和定量屬性。3.1認(rèn)識(shí)數(shù)據(jù)(2)定量類型
定量屬性是描述數(shù)據(jù)對(duì)象屬性的數(shù)值大小,如長(zhǎng)度、速度、半徑等的數(shù)量值,定量屬性有整數(shù)(離散)和浮點(diǎn)數(shù)(連續(xù))兩種形式。實(shí)際上,在許多真實(shí)的數(shù)據(jù)集中,數(shù)據(jù)對(duì)象通常是混合類型的,一個(gè)數(shù)據(jù)對(duì)象的屬性可能包含上面列舉的多種類型。3.1認(rèn)識(shí)數(shù)據(jù)3.1.2數(shù)據(jù)的量綱
數(shù)據(jù)屬性的值,有時(shí)是有單位的,稱作量綱數(shù)據(jù)。所謂量綱,是指物理量的基本屬性。例如,物理學(xué)中的7個(gè)基本量,長(zhǎng)度、質(zhì)量、時(shí)間、電流、熱力學(xué)溫度、物質(zhì)的量和發(fā)光強(qiáng)度、的量綱分別用L、M、T、I、Θ、n和J表示。
有些數(shù)據(jù)是有量綱的,比如身高、長(zhǎng)度、時(shí)間、質(zhì)量、速度;而有些數(shù)據(jù)是沒(méi)有量綱的,比如男女比例、兩個(gè)長(zhǎng)度之比。無(wú)量綱化,是指去除數(shù)據(jù)的單位限制,將其轉(zhuǎn)換為無(wú)量綱的純數(shù)值,便于不同單位或不同量級(jí)的指標(biāo)能夠進(jìn)行比較和加權(quán)。
不同的評(píng)價(jià)指標(biāo)往往具有不同的量綱,數(shù)據(jù)之間的差別可能很大,不進(jìn)行處理會(huì)影響數(shù)據(jù)分析的結(jié)果。為了消除指標(biāo)之間的量綱和取值范圍差異對(duì)數(shù)據(jù)分析結(jié)果的影響,需要對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,也就是說(shuō),把數(shù)據(jù)按照比例進(jìn)行縮放,使之落入一個(gè)特定的區(qū)間,便于進(jìn)行綜合分析。例如,歸一化處理是把數(shù)變?yōu)閇0,1]之間的小數(shù),可以把有量綱的數(shù)據(jù)轉(zhuǎn)換為無(wú)量綱的純數(shù)值。3.2大數(shù)據(jù)的來(lái)源和采集途徑3.2.1大數(shù)據(jù)的來(lái)源
大數(shù)據(jù)的來(lái)源非常廣泛,如互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、信息管理系統(tǒng)、科學(xué)實(shí)驗(yàn)和計(jì)算機(jī)系統(tǒng)的日志等。按照產(chǎn)生數(shù)據(jù)的主體來(lái)劃分,大數(shù)據(jù)主要有三個(gè)來(lái)源:對(duì)現(xiàn)實(shí)世界的測(cè)量、人類的記錄、計(jì)算機(jī)產(chǎn)生的數(shù)據(jù)3.2大數(shù)據(jù)的來(lái)源和采集途徑(1)對(duì)現(xiàn)實(shí)世界的測(cè)量
通過(guò)感知設(shè)備獲得的數(shù)據(jù),這類數(shù)據(jù)包括傳感器采集的數(shù)據(jù)(如環(huán)境監(jiān)測(cè)、工業(yè)物聯(lián)網(wǎng)和智能交通的傳感數(shù)據(jù)),科學(xué)儀器產(chǎn)生的數(shù)據(jù)、攝像頭的監(jiān)控影像等。例如,在新冠肺炎疫情期間,許多商場(chǎng)都在門口安裝了紅外線體溫檢測(cè)儀,路過(guò)的行人在其視野范圍內(nèi)都會(huì)接受測(cè)量,所得的體溫信息會(huì)被馬上記錄下來(lái),這便是一種大數(shù)據(jù)的來(lái)源。
此類數(shù)據(jù)的特點(diǎn)是:數(shù)據(jù)模式比較固定、數(shù)據(jù)規(guī)模極大、數(shù)據(jù)質(zhì)量參差不齊,數(shù)據(jù)的價(jià)值密度低。3.2大數(shù)據(jù)的來(lái)源和采集途徑(2)人類的記錄
由人類錄入計(jì)算機(jī)形成的數(shù)據(jù),如信息管理系統(tǒng)、社交軟件、電子商務(wù)系統(tǒng)、企業(yè)財(cái)務(wù)系統(tǒng)等產(chǎn)生的數(shù)據(jù)。例如,個(gè)人的電子郵件、Word、照片、視頻、音頻、QQ空間、微信朋友圈、社交軟件的聊天記錄等,以及電子商務(wù)系統(tǒng)記錄的交易數(shù)據(jù)、信用卡刷卡數(shù)據(jù)等。
此類數(shù)據(jù)的特點(diǎn)是:數(shù)據(jù)模式多樣、數(shù)據(jù)規(guī)模較大、數(shù)據(jù)質(zhì)量參差不齊、語(yǔ)義不明確,數(shù)據(jù)的價(jià)值密度低。3.2大數(shù)據(jù)的來(lái)源和采集途徑(3)計(jì)算機(jī)產(chǎn)生的數(shù)據(jù)
由計(jì)算機(jī)程序生成的數(shù)據(jù),如服務(wù)器的日志、計(jì)算機(jī)的運(yùn)算結(jié)果、軟件生成的圖像和視頻等。
此類數(shù)據(jù)的特點(diǎn)是:由程序自動(dòng)生成,數(shù)據(jù)模式固定、數(shù)據(jù)質(zhì)量高、語(yǔ)義明確,數(shù)據(jù)的價(jià)值密度與產(chǎn)生數(shù)據(jù)的程序相關(guān)。3.2大數(shù)據(jù)的來(lái)源和采集途徑3.2.2大數(shù)據(jù)采集的途徑
數(shù)據(jù)采集是指從真實(shí)世界中獲得原始數(shù)據(jù)的過(guò)程,它是大數(shù)據(jù)應(yīng)用的基礎(chǔ)環(huán)節(jié),具有非常重要的作用,數(shù)據(jù)采集的手段通常有以下5種。3.2大數(shù)據(jù)的來(lái)源和采集途徑(1)傳感數(shù)據(jù)的采集
傳感數(shù)據(jù)的采集通過(guò)傳感器采集物理世界的信息,例如通過(guò)環(huán)境監(jiān)測(cè)傳感器、工業(yè)傳感器采集熱、光、氣、電、磁、聲和力等數(shù)據(jù),通過(guò)多媒體數(shù)據(jù)采集設(shè)備獲取圖像、音頻和視頻數(shù)據(jù)等。3.2大數(shù)據(jù)的來(lái)源和采集途徑(2)系統(tǒng)日志的采集
系統(tǒng)日志的采集主要采集數(shù)字設(shè)備和計(jì)算機(jī)系統(tǒng)運(yùn)行狀態(tài)的日志。許多數(shù)字設(shè)備和計(jì)算機(jī)系統(tǒng)每天都會(huì)產(chǎn)生大量的日志,一般為流式數(shù)據(jù),如信息管理系統(tǒng)的操作日志、服務(wù)器的運(yùn)行狀態(tài)和搜索引擎的查詢等。收集和處理這些日志通常需要專門的日志采集系統(tǒng),如ApacheFlume、Chukwa、Meta(原名為Facebook)的Scribe和LinkedIn的Kafka等。3.2大數(shù)據(jù)的來(lái)源和采集途徑(3)數(shù)據(jù)庫(kù)數(shù)據(jù)的采集
許多企業(yè)和單位在信息化過(guò)程中結(jié)合自身業(yè)務(wù)建立了各種各樣的數(shù)據(jù)庫(kù)系統(tǒng),積累了大量的數(shù)據(jù)。從傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)中采集數(shù)據(jù),需要利用對(duì)接關(guān)系型數(shù)據(jù)庫(kù)和大數(shù)據(jù)平臺(tái)的數(shù)據(jù)采集引擎(如數(shù)據(jù)采集工具Sqoop),從數(shù)據(jù)庫(kù)中進(jìn)行數(shù)據(jù)的采集和匯聚,并將數(shù)據(jù)傳輸?shù)酱髷?shù)據(jù)平臺(tái)上。3.2大數(shù)據(jù)的來(lái)源和采集途徑(4)網(wǎng)絡(luò)數(shù)據(jù)的采集
網(wǎng)絡(luò)數(shù)據(jù)的采集通??梢苑譃榫W(wǎng)頁(yè)內(nèi)容的采集和網(wǎng)絡(luò)流量采集的兩種類型。
網(wǎng)頁(yè)內(nèi)容的采集是指通過(guò)網(wǎng)絡(luò)爬蟲或網(wǎng)站公開API等方式從網(wǎng)站上獲取數(shù)據(jù)信息,該方法可以將非結(jié)構(gòu)化的數(shù)據(jù)從網(wǎng)頁(yè)中抽取出來(lái),將其存儲(chǔ)為統(tǒng)一的本地?cái)?shù)據(jù)文件,并以結(jié)構(gòu)化或非結(jié)構(gòu)化的方式存儲(chǔ),圖3-2所示為網(wǎng)絡(luò)爬蟲的工作原理示意圖。3.2大數(shù)據(jù)的來(lái)源和采集途徑(4)網(wǎng)絡(luò)數(shù)據(jù)的采集
網(wǎng)絡(luò)流量的采集可以使用DPI(DeepPacketInspection,深度包檢測(cè))和DFI(Deep/DynamicFlowInspection,深度/動(dòng)態(tài)流檢測(cè))等帶寬管理技術(shù)進(jìn)行處理。DPI技術(shù)在分析包頭的基礎(chǔ)上,增加了對(duì)應(yīng)用層的分析,這是一種基于應(yīng)用層的流量檢測(cè)和控制技術(shù)。DFI僅對(duì)網(wǎng)絡(luò)流量的行為進(jìn)行分析,因此只能對(duì)應(yīng)用的類型進(jìn)行籠統(tǒng)分類,但速度很快。3.2大數(shù)據(jù)的來(lái)源和采集途徑(5)外包和眾包
外包(Outsourcing)是指將所要進(jìn)行的數(shù)據(jù)采集任務(wù)交付給已知的雇員去完成。
眾包(Crowdsourcing)是指數(shù)據(jù)采集任務(wù)由一群不固定,通常數(shù)量很大的參與者共同協(xié)作完成,例如Wikipedia(維基百科)就是一個(gè)成功應(yīng)用“眾包”方法構(gòu)建的龐大知識(shí)庫(kù)。3.3常用大數(shù)據(jù)采集工具的簡(jiǎn)介
在數(shù)據(jù)規(guī)模不斷擴(kuò)大的情況下,運(yùn)用數(shù)據(jù)采集自動(dòng)化工具,從外部系統(tǒng)和互聯(lián)網(wǎng)等自動(dòng)獲取、傳輸和記錄數(shù)據(jù)已經(jīng)成為必要的技術(shù)手段。目前常用的大數(shù)據(jù)采集工具有爬山虎采集器、八爪魚采集器、Scrapy、Flume、Chukwa、Kafka和Sqoop等,表3-1所示為它們的功能和特點(diǎn)。3.3常用大數(shù)據(jù)采集工具的簡(jiǎn)介名稱類型功能和特點(diǎn)研制者或項(xiàng)目來(lái)源爬山虎采集器網(wǎng)頁(yè)爬蟲簡(jiǎn)單易用、無(wú)須編程、智能識(shí)別合肥簡(jiǎn)數(shù)信息技術(shù)有限公司采集器網(wǎng)頁(yè)爬蟲簡(jiǎn)單易用、無(wú)須編程、自定義模板深圳視界信息技術(shù)有限公司基于Python的網(wǎng)頁(yè)抓取框架具有高度可定制性的網(wǎng)頁(yè)采集工具開源GitHub項(xiàng)目Flume日志采集中間件分布式海量日志采集、聚合和傳輸系統(tǒng);數(shù)據(jù)源可定制、可擴(kuò)展。公司開源的Apache項(xiàng)目Chukwa基于Hadoop集群的日志處理/分析開源的用于監(jiān)控大型的數(shù)據(jù)收集系統(tǒng)ApacheHadoop項(xiàng)目的系列產(chǎn)品Kafka基于消息發(fā)布-訂閱的流處理平臺(tái)分布式的消息發(fā)布-訂閱系統(tǒng),用于將數(shù)據(jù)流從一個(gè)應(yīng)用程序傳輸?shù)搅硪粋€(gè)應(yīng)用程序LinkedIn公司開源的Apache項(xiàng)目Sqoop數(shù)據(jù)傳輸工具在Hadoop和關(guān)系型數(shù)據(jù)之間傳遞數(shù)據(jù)Apache開源軟件表3-1常用的大數(shù)據(jù)采集工具3.3常用大數(shù)據(jù)采集工具的簡(jiǎn)介3.3.1爬山虎采集器
爬山虎采集器是一款通用的網(wǎng)頁(yè)采集軟件,它能夠采集互聯(lián)網(wǎng)上的大部分網(wǎng)站數(shù)據(jù),包括網(wǎng)頁(yè)表格數(shù)據(jù)、文檔、圖片及其他各種形式文件,自動(dòng)批量下載到本地電腦。它不僅可以將采集到的數(shù)據(jù)導(dǎo)出為多種格式文件(如TXT文本、Excel表格、CSV文件)、數(shù)據(jù)庫(kù)(如MySQL、SQLite、Access和SQLServer)、網(wǎng)站API接口,還可以定時(shí)運(yùn)行、自動(dòng)發(fā)布、增量更新采集,完全實(shí)現(xiàn)自動(dòng)化運(yùn)行,無(wú)須人工干預(yù),極大地提高了人們從互聯(lián)網(wǎng)上獲取數(shù)據(jù)的效率。爬山虎采集器目前只提供Windows版本客戶端軟件,其主界面如圖3-3所示。
爬山虎采集器內(nèi)置了上百種簡(jiǎn)易采集規(guī)則,能夠?qū)W(wǎng)頁(yè)源碼自動(dòng)進(jìn)行智能分析,用戶只需要通過(guò)一些簡(jiǎn)單參數(shù)(如關(guān)鍵詞、網(wǎng)址)就可以開始采集。圖3-4所示為作者使用“自定義采集”功能對(duì)京東網(wǎng)上的手機(jī)商品列表進(jìn)行數(shù)據(jù)采集的截圖,從中可以看出爬山虎采集器可以對(duì)該網(wǎng)頁(yè)進(jìn)行智能分析,獲取到商品名稱、商品價(jià)格和詳情鏈接等信息。3.3常用大數(shù)據(jù)采集工具的簡(jiǎn)介3.3.1爬山虎采集器圖3-3爬山虎采集器客戶端軟件的主界面3.3常用大數(shù)據(jù)采集工具的簡(jiǎn)介3.3.1爬山虎采集器圖3-4爬山虎采集器采集京東網(wǎng)上手機(jī)商品數(shù)據(jù)的示意圖3.3常用大數(shù)據(jù)采集工具的簡(jiǎn)介3.3.1爬山虎采集器圖3-5爬山虎采集器采集京東網(wǎng)上手機(jī)商品數(shù)據(jù)的結(jié)果截圖3.3常用大數(shù)據(jù)采集工具的簡(jiǎn)介3.3.2八爪魚采集器
八爪魚采集器是一種智能網(wǎng)頁(yè)爬蟲工具,其原理是模擬人的網(wǎng)頁(yè)瀏覽行為,通過(guò)內(nèi)置谷歌瀏覽器瀏覽網(wǎng)頁(yè)數(shù)據(jù)。使用者根據(jù)網(wǎng)頁(yè)特性和采集需求,設(shè)計(jì)采集流程,八爪魚會(huì)根據(jù)流程全自動(dòng)采集數(shù)據(jù)。
八爪魚采集器的客戶端軟件目前提供Windows和Mac兩種版本。本書下載八爪魚Windows客戶端。安裝完成后,在開始菜單或桌面上找到八爪魚采集器的快捷方式,啟動(dòng)八爪魚采集器,進(jìn)行注冊(cè)和登錄。八爪魚客戶端界面的示意圖如圖3-6所示。圖3-6八爪魚客戶端界面的示意圖3.3常用大數(shù)據(jù)采集工具的簡(jiǎn)介3.3.3基于Python的網(wǎng)頁(yè)抓取框架Scrapy
Scrapy是一個(gè)Python語(yǔ)言開發(fā)的基于異步模型的網(wǎng)頁(yè)抓取框架,用于抓取網(wǎng)站并從頁(yè)面中提取結(jié)構(gòu)化數(shù)據(jù)。它的用途廣泛,可以用于數(shù)據(jù)挖掘、監(jiān)控和自動(dòng)化測(cè)試等。
Scrapy的吸引人之處在于它是一個(gè)框架,任何人都可以根據(jù)需求修改,它也提供了多種類型爬蟲的基類,如BaseSpider、SiteMap爬蟲等,其最新版本還提供了Web2.0爬蟲的支持。接下來(lái)介紹一個(gè)Scrapy的應(yīng)用案例?!景咐?-1】用Scrapy框架編寫基于Python語(yǔ)言的爬蟲程序,用于采集豆瓣讀書評(píng)分9分以上的圖書數(shù)據(jù),要求采集到的每本圖書的數(shù)據(jù)包括:書名、評(píng)分、作者、出版社和出版年份,并保存為本地CSV文件。豆瓣讀書評(píng)分9分以上榜單的網(wǎng)頁(yè)示意圖如圖3-7所示。3.3常用大數(shù)據(jù)采集工具的簡(jiǎn)介3.3.3基于Python的網(wǎng)頁(yè)抓取框架Scrapy
圖3-7豆瓣讀書評(píng)分9分以上榜單網(wǎng)頁(yè)示意圖
在編寫Scrapy爬蟲程序時(shí),需要對(duì)如圖3-8所示的網(wǎng)頁(yè)源碼進(jìn)行解析,并模擬單擊翻頁(yè)鏈接的動(dòng)作,把所有評(píng)分9分以上的圖書數(shù)據(jù)(共34個(gè)頁(yè)面)都采集下來(lái)。圖3-7豆瓣讀書評(píng)分9分以上榜單網(wǎng)頁(yè)示意圖3.3常用大數(shù)據(jù)采集工具的簡(jiǎn)介3.3.3基于Python的網(wǎng)頁(yè)抓取框架Scrapy
圖3-8豆瓣讀書評(píng)分9分以上榜單的網(wǎng)頁(yè)源碼截圖圖3-8豆瓣讀書評(píng)分9分以上榜單的網(wǎng)頁(yè)源碼截圖3.3常用大數(shù)據(jù)采集工具的簡(jiǎn)介3.3.3基于Python的網(wǎng)頁(yè)抓取框架Scrapy圖3-9Scrapy爬蟲程序采集的網(wǎng)頁(yè)數(shù)據(jù)示意圖采集完成后保存到本地文件的結(jié)果如圖3-9所示。3.3常用大數(shù)據(jù)采集工具的簡(jiǎn)介3.3.4日志收集工具Flume
Flume是Apache的頂級(jí)項(xiàng)目,用于日志數(shù)據(jù)的采集。Flume提供一種分布式、可靠的服務(wù),用于高效地收集、聚合和移動(dòng)大量的日志數(shù)據(jù),它具備可調(diào)節(jié)的可靠性機(jī)制、故障轉(zhuǎn)移和恢復(fù)機(jī)制,具有強(qiáng)大的容錯(cuò)能力。
Flume支持在日志系統(tǒng)中定制各類數(shù)據(jù)源,可以對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單的處理,并將數(shù)據(jù)輸出到各種數(shù)據(jù)接受方,其設(shè)計(jì)的原理是基于將數(shù)據(jù)流(如日志數(shù)據(jù))從各種網(wǎng)站服務(wù)器上匯集起來(lái),存儲(chǔ)到大數(shù)據(jù)平臺(tái)中。接下來(lái),介紹兩個(gè)Flume的應(yīng)用場(chǎng)景。
場(chǎng)景1:某個(gè)在線購(gòu)物App需要建立用戶推薦系統(tǒng)(UserRecommendationSystem),其可以根據(jù)用戶訪問(wèn)的節(jié)點(diǎn)區(qū)域、瀏覽的商品信息等來(lái)分析消費(fèi)者的行為或購(gòu)買意圖,以便更加快速地將用戶可能想要購(gòu)買的商品推送到界面上。為了實(shí)現(xiàn)這一功能,就需要收集用戶在App上點(diǎn)擊的產(chǎn)品數(shù)據(jù)、訪問(wèn)的頁(yè)面和訪問(wèn)時(shí)間等日志信息,并保存到后臺(tái)的大數(shù)據(jù)平臺(tái)上去進(jìn)行分析和挖掘,這樣的需求就可以用Flume來(lái)實(shí)現(xiàn)。3.3常用大數(shù)據(jù)采集工具的簡(jiǎn)介3.3.4日志收集工具Flume場(chǎng)景2:目前許多新聞?lì)怉pp(如今日頭條、騰訊新聞等)大都具有內(nèi)容推送、廣告定時(shí)投放和新聞私人訂制等功能,這需要收集用戶操作的日志信息(如用戶曾經(jīng)看過(guò)的新聞、視頻、觀看時(shí)間和IP地址等),以便使用智能推薦系統(tǒng)進(jìn)行分析,更精準(zhǔn)地向用戶推薦可能感興趣的內(nèi)容和廣告。3.3常用大數(shù)據(jù)采集工具的簡(jiǎn)介3.3.4日志收集工具Flume
Flume的核心流程是把數(shù)據(jù)從數(shù)據(jù)源收集過(guò)來(lái),經(jīng)過(guò)傳送通道將收集到的數(shù)據(jù)送到指定的目的地,圖3-10所示為Flume架構(gòu)的示意圖?!景咐?-2】利用Flume工具采集日志文件。本案例利用Flume工具,從多臺(tái)Linux主機(jī)的特定目錄中采集日志文件(數(shù)據(jù)源),匯總傳輸?shù)街付ǖ闹鳈C(jī)節(jié)點(diǎn),并存到Hadoop集群的HDFS文件系統(tǒng)(目的地)中。圖3-10Flume架構(gòu)的示意圖3.3常用大數(shù)據(jù)采集工具的簡(jiǎn)介3.3.4日志收集工具Flume
利用Flume工具實(shí)時(shí)監(jiān)控并采集Linux主機(jī)Node02和Node03中/work/logs文件夾下的所有日志文件,將采集到的日志數(shù)據(jù)傳輸?shù)絅ode01主機(jī)中匯總,保存到Hadoop集群的HDFS文件系統(tǒng)中。圖3-11所示為該任務(wù)的示意圖。圖3-11利用Flume采集日志的任務(wù)示意圖3.3常用大數(shù)據(jù)采集工具的簡(jiǎn)介3.3.4日志收集工具Flume本案例中Flume數(shù)據(jù)流模型的示意圖如圖3-12所示,我們分別在主機(jī)Node02和Node03中運(yùn)行Flume代理程序(FlumeAgent),監(jiān)視/work/logs文件夾中的日志文件變動(dòng)情況,實(shí)時(shí)將新產(chǎn)生的日志數(shù)據(jù)以內(nèi)存作為通道,通過(guò)Avro協(xié)議傳輸?shù)街鳈C(jī)Node01的指定網(wǎng)絡(luò)端口。在Node01上運(yùn)行Flume代理程序,監(jiān)視指定端口的數(shù)據(jù),將該端口接收到的數(shù)據(jù)保存到Hadoop的HDFS分布式文件系統(tǒng)中。圖3-12Flume數(shù)據(jù)流模型的示意圖3.3常用大數(shù)據(jù)采集工具的簡(jiǎn)介3.3.5分布式消息服務(wù)工具KafkaKafka項(xiàng)目起源于LinkedIn,2011年成為開源Apache項(xiàng)目,在2012年成為Apache的一流項(xiàng)目。目前Kafka已發(fā)展成為功能完善的基于分布式的消息發(fā)布-訂閱系統(tǒng)。
Kafka的架構(gòu)模型示意圖如圖3-13所示。其中,消息發(fā)布者能夠發(fā)布消息。消息接收者可以訂閱一個(gè)或多個(gè)話題,并從Kafka集群(KafakCluster)上的消息服務(wù)節(jié)點(diǎn)中拉數(shù)據(jù),從而消費(fèi)這些已發(fā)布的消息。3.3常用大數(shù)據(jù)采集工具的簡(jiǎn)介3.3.5分布式消息服務(wù)工具Kafka圖3-13Kafka的架構(gòu)模型示意圖我們可以將Kafka與Flume配合使用,將Kafka作為Flume的源端,也可以將Flume采集的數(shù)據(jù)按照不同的類型輸入到Kafka中不同的話題中。3.4數(shù)據(jù)預(yù)處理數(shù)據(jù)預(yù)處理是指在數(shù)據(jù)進(jìn)行分析挖掘之前,對(duì)原始數(shù)據(jù)進(jìn)行變換、清洗與集成等一系列操作。通過(guò)數(shù)據(jù)預(yù)處理工作,可以使殘缺的數(shù)據(jù)完整、將錯(cuò)誤的數(shù)據(jù)予以糾正、將多余的數(shù)據(jù)去除,有效提高數(shù)據(jù)的質(zhì)量。
沒(méi)有高質(zhì)量的數(shù)據(jù),就沒(méi)有高質(zhì)量的數(shù)據(jù)挖掘結(jié)果,低質(zhì)量的數(shù)據(jù)會(huì)對(duì)許多數(shù)據(jù)挖掘算法有很大的影響,甚至“挖掘”出錯(cuò)誤的知識(shí)。數(shù)據(jù)預(yù)處理的目的,是為后續(xù)的數(shù)據(jù)分析與挖掘提供可靠的高質(zhì)量數(shù)據(jù),提高數(shù)據(jù)挖掘的效率。數(shù)據(jù)預(yù)處理的流程如圖3-14所示。3.4數(shù)據(jù)預(yù)處理圖3-14數(shù)據(jù)預(yù)處理的流程3.4數(shù)據(jù)預(yù)處理3.4.1數(shù)據(jù)清洗數(shù)據(jù)質(zhì)量的衡量標(biāo)準(zhǔn)涉及多種因素,包括數(shù)據(jù)的一致性、精確性、完整性、時(shí)效性和實(shí)體同一性。數(shù)據(jù)清洗就是為了提升數(shù)據(jù)的質(zhì)量,即將“臟”數(shù)據(jù)清洗“干凈”。
數(shù)據(jù)清洗的手段主要包括缺失值填充、數(shù)據(jù)平滑,識(shí)別和去除離群點(diǎn)、檢測(cè)與修復(fù)不一致性、識(shí)別實(shí)體與發(fā)現(xiàn)真值等。3.4數(shù)據(jù)預(yù)處理1.缺失值填充圖3-16數(shù)據(jù)集中的缺失值示例(NA表示缺失值)數(shù)據(jù)集中的缺失值可能是由于錯(cuò)誤或沒(méi)有記錄觀察結(jié)果。當(dāng)數(shù)據(jù)集中存在缺失值時(shí),某些數(shù)據(jù)分析或挖掘的算法可能不起作用,也可能無(wú)法得到所需的結(jié)果。數(shù)據(jù)集中的缺失值示例(其中NA表示缺失值)如圖3-16所示。3.4數(shù)據(jù)預(yù)處理(1)均值填充03這是因?yàn)椋?6.25=(99+100+91+95)/4.002例如有以下一組數(shù)據(jù):99、100、NaN、91、95(注:其中NaN表示缺失值),使用均值填充后得到:99、100、96.25、91、9501如果缺失值是數(shù)值型的,就根據(jù)該變量在其他所有對(duì)象取值的平均值來(lái)填充該缺失的變量值。3.4數(shù)據(jù)預(yù)處理(2)眾數(shù)填充如果缺失值是非數(shù)值型的,通常使用眾數(shù)來(lái)補(bǔ)齊該缺失的變量值。例如有以下一組數(shù)據(jù):Apple、Orange、Banana、NaN、Apple、Apple、Orange使用眾數(shù)填充時(shí),缺失值NaN將會(huì)被Apple替代,這是因?yàn)锳pple出現(xiàn)的次數(shù)最多(3次),因此這組數(shù)據(jù)中的眾數(shù)為Apple。3.4數(shù)據(jù)預(yù)處理(3)其他填充方法其他的數(shù)據(jù)填充方法有拉格朗日插值法、回歸填充法、熱卡填充法、就近補(bǔ)齊法、極大似然估計(jì)法、期望最大化法、k最近鄰域法等。3.4數(shù)據(jù)預(yù)處理2.?dāng)?shù)據(jù)平滑——去除噪聲/異常值噪聲數(shù)據(jù)是指數(shù)據(jù)中存在著錯(cuò)誤或異常的數(shù)據(jù),這些數(shù)據(jù)對(duì)數(shù)據(jù)的分析和挖掘造成了干擾。在實(shí)際應(yīng)用中,經(jīng)常會(huì)遇到初始結(jié)果噪聲數(shù)據(jù)太多的問(wèn)題,如音頻中的背景雜音、光譜信號(hào)抖動(dòng)的太厲害等。數(shù)據(jù)中的異常樣本示意圖如圖3-17所示。數(shù)據(jù)平滑就是去除數(shù)據(jù)中的噪聲波動(dòng),使數(shù)據(jù)平滑,常用方法有分箱法、移動(dòng)(滑動(dòng))平均法、3σ探測(cè)法和k最近領(lǐng)域法等,以下是常用的預(yù)處理方法。圖3-17數(shù)據(jù)中的異常樣本示意圖3.4數(shù)據(jù)預(yù)處理(1)分箱法分箱法是指通過(guò)考察“鄰居”(周圍的值)來(lái)平滑存儲(chǔ)數(shù)據(jù)的值,存儲(chǔ)的值被分布到一些“桶”或箱中,平滑各個(gè)分箱中的數(shù)據(jù),常用的分方法如下。(1)等深(頻)分箱法:各個(gè)箱里有相同個(gè)數(shù)的數(shù)據(jù)。(2)等寬分箱法:各個(gè)箱的取值區(qū)間相同。常用的數(shù)據(jù)平滑的方法有3種。(1)平均數(shù)平滑:箱中每一個(gè)值被箱的平均數(shù)替換。(2)中位數(shù)平滑:箱中每一個(gè)值被箱的中位數(shù)替換。(3)箱邊界平滑:箱中每一個(gè)值被離它最近的箱邊界值替換。3.4數(shù)據(jù)預(yù)處理(1)分箱法【案例3-3】假設(shè)有8、24、15、41、6、10、18、50、25這9個(gè)數(shù),先對(duì)數(shù)進(jìn)行從小到大的排序,寫為6、8、10、15、18、24、25、41、50。按等深(頻)分箱法分為如下3箱。
箱1:6、8、10。
箱2:15、18、24。
箱3:25、41、50。分別用3種不同的平滑技術(shù)平滑噪聲數(shù)據(jù)的值。3.4數(shù)據(jù)預(yù)處理(1)分箱法(1)按箱平均值求得平滑數(shù)據(jù)的值:如箱1的平均值為8,這樣該箱中的每一個(gè)值被替換為(8,8,8)。(2)按箱中值求得平滑數(shù)據(jù)的值:如箱2的中位數(shù)為18,可以使用按箱中值平滑,這樣該箱中的每一個(gè)值被替換為(18,18,18)。(3)按箱邊界值求得平滑數(shù)據(jù)的值:如箱3為(25,41,50),箱中的最大值和最小值被視為箱邊界值,箱中的每一個(gè)值被最近的邊界值替換為(25,50,50)。3.4數(shù)據(jù)預(yù)處理(1)分箱法按等寬分箱法(箱寬度為10),可分為如下3個(gè)箱。
箱1:6、8、10、15。
箱2:18、24、25。箱3:41、50。分別用3種不同的平滑技術(shù)平滑噪聲數(shù)據(jù)的值。(1)按箱平均值求得平滑數(shù)據(jù)的值:如箱1的平均值為9.75,這樣該箱中的每一個(gè)值被替換為(9.75,9.75,9.75,9.75)。(2)按箱中值求得平滑數(shù)據(jù)的值:如箱2的中位數(shù)為24,可以使用按箱中值平滑,這樣該箱中的每一個(gè)值被替換為(24,24,24)。(3)按箱邊界值求得平滑數(shù)據(jù)的值:如箱2的邊界值為18和25(箱中的最大值和最小值被視為箱邊界值),這樣該箱中的每一個(gè)值被最近的邊界值替換為(18,25,25)。3.4數(shù)據(jù)預(yù)處理(2)移動(dòng)(滑動(dòng))平均法
移動(dòng)平均法是一種用以濾除噪聲的簡(jiǎn)單數(shù)據(jù)處理方法,該方法將觀測(cè)數(shù)據(jù)替換為前后若干次觀測(cè)數(shù)據(jù)的平均值,以便平滑噪聲?!景咐?-4】采用移動(dòng)平均法處理表3-2所示的觀測(cè)數(shù)據(jù),滑動(dòng)窗口的半徑取2。表3-2某段日期的觀測(cè)數(shù)據(jù)日期2022年12月1日2022年12月2日2022年12月3日2022年12月4日2022年12月5日2022年12月6日觀測(cè)數(shù)據(jù)181516(用15替換)14(用14.4替換)12153.4數(shù)據(jù)預(yù)處理(2)移動(dòng)(滑動(dòng))平均法使用移動(dòng)平均法,滑動(dòng)窗口的半徑取2,則:(1)2022年12月3日的測(cè)量數(shù)據(jù)16用(18+15+16+14+12)/5=15替換。(2)2022年12月4日的測(cè)量數(shù)據(jù)14用(15+16+14+12+15)/5=14.4替換。3.4數(shù)據(jù)預(yù)處理(3)3σ探測(cè)法
3σ探測(cè)法的思想來(lái)源于切比雪夫不等式,假設(shè)一組數(shù)據(jù)的均值為??標(biāo)準(zhǔn)差為??,一般情況下數(shù)據(jù)分布有以下特點(diǎn)。(1)在所有數(shù)據(jù)中,數(shù)值分布在中的概率為0.6827。(2)在所有數(shù)據(jù)中,數(shù)值分布在中的概率為0.9545。(3)在所有數(shù)據(jù)中,數(shù)值分布在中的概率為0.9973。
可以認(rèn)為,數(shù)據(jù)的取值幾乎全部集中在區(qū)間內(nèi),超出這個(gè)范圍的可能性僅占不到0.3%,凡超過(guò)這個(gè)區(qū)間的噪聲數(shù)據(jù)應(yīng)予以剔除。3σ適用于有較多數(shù)據(jù)的情況。3.4數(shù)據(jù)預(yù)處理(4)k最近領(lǐng)域法
根據(jù)某種距離度量方法來(lái)確定噪聲數(shù)據(jù)最近的k個(gè)近鄰,然后將這k個(gè)值加權(quán)(權(quán)重可取距離的比值),然后根據(jù)自定義的閾值,將距離超過(guò)閾值的當(dāng)作噪聲數(shù)據(jù)。3.4數(shù)據(jù)預(yù)處理(5)聚類算法
采用某種聚類算法把相似的數(shù)據(jù)聚成一個(gè)“簇”,落在各個(gè)簇之外的數(shù)據(jù)可以看成噪聲數(shù)據(jù),如圖3-18所示。圖3-18采用聚類算法去除噪聲數(shù)據(jù)的示意圖3.4數(shù)據(jù)預(yù)處理3.4.2數(shù)據(jù)集成數(shù)據(jù)集成是把不同來(lái)源、格式的數(shù)據(jù)有機(jī)地集中起來(lái),通過(guò)一致的、精確的表示法,對(duì)同一種實(shí)體對(duì)象的不同數(shù)據(jù)進(jìn)行整合的過(guò)程。數(shù)據(jù)采集過(guò)程中,數(shù)據(jù)可能來(lái)自不同的系統(tǒng),難以確保數(shù)據(jù)的模式、模態(tài)和語(yǔ)言的一致性,在很多應(yīng)用中要將不同來(lái)源的數(shù)據(jù)集成匯總,才能正常使用。根據(jù)數(shù)據(jù)集成方式的不同,可以分為傳統(tǒng)數(shù)據(jù)集成和跨域數(shù)據(jù)集成。3.4數(shù)據(jù)預(yù)處理1.傳統(tǒng)數(shù)據(jù)集成
傳統(tǒng)數(shù)據(jù)集成是將來(lái)自多個(gè)數(shù)據(jù)集的數(shù)據(jù)以統(tǒng)一的模式進(jìn)行集成匯總,以達(dá)到數(shù)據(jù)共享的目的(見圖3-23),例如將多個(gè)來(lái)源的數(shù)據(jù)存儲(chǔ)到一個(gè)關(guān)系數(shù)據(jù)庫(kù)中。圖3-23傳統(tǒng)數(shù)據(jù)集成示意圖3.4數(shù)據(jù)預(yù)處理2.跨域數(shù)據(jù)集成
跨域數(shù)據(jù)集成是將來(lái)自不同領(lǐng)域的數(shù)據(jù)進(jìn)行集成匯總(見圖3-24),例如將社交網(wǎng)絡(luò)關(guān)系、電商和金融三個(gè)領(lǐng)域的數(shù)據(jù)有機(jī)整合在一起。
數(shù)據(jù)集成解決的主要問(wèn)題包括實(shí)體識(shí)別、數(shù)據(jù)冗余問(wèn)題和數(shù)據(jù)值沖突的檢測(cè)與處理等。圖3-24跨域數(shù)據(jù)集成示意圖3.4數(shù)據(jù)預(yù)處理(1)實(shí)體識(shí)別
來(lái)自多個(gè)數(shù)據(jù)源的實(shí)體有時(shí)并不一定是匹配的,表3-5所示為來(lái)自不同數(shù)據(jù)源的同一個(gè)人的姓名數(shù)據(jù),要解決這樣的問(wèn)題:WeiWang?=WangWei。
表3-5來(lái)自不同數(shù)據(jù)源的同一個(gè)人的姓名數(shù)據(jù)姓名歸屬WeiWang新加坡國(guó)立大學(xué)WangWei新加坡國(guó)立大學(xué)3.4數(shù)據(jù)預(yù)處理(2)數(shù)據(jù)冗余問(wèn)題
在一個(gè)數(shù)據(jù)集合中重復(fù)的數(shù)據(jù)被稱為數(shù)據(jù)冗余,產(chǎn)生冗余的因素有很多,比如每天備份公司的數(shù)據(jù)會(huì)產(chǎn)生冗余,在多個(gè)系統(tǒng)中存儲(chǔ)相同的信息時(shí),最終也可能得到冗余數(shù)據(jù)。3.4數(shù)據(jù)預(yù)處理(3)數(shù)據(jù)值沖突的檢測(cè)與處理由于編碼、數(shù)據(jù)類型、單位等不同,對(duì)于同一個(gè)實(shí)體,不同數(shù)據(jù)源的屬性值可能不同。例如,某實(shí)體的重量屬性可能在一個(gè)系統(tǒng)中以公制單位存放,而在另一個(gè)系統(tǒng)中以英制單位存放。3.4數(shù)據(jù)預(yù)處理3.4.3數(shù)據(jù)變換所謂數(shù)據(jù)變換,是將數(shù)據(jù)轉(zhuǎn)換成適當(dāng)?shù)男问揭员愀玫乩斫夂吞幚恚S玫臄?shù)據(jù)變換方法如圖3-20所示。圖3-20
常用的數(shù)據(jù)變換方法3.4數(shù)據(jù)預(yù)處理1.數(shù)據(jù)歸一化一個(gè)數(shù)據(jù)集中的數(shù)據(jù)由于各個(gè)屬性的數(shù)據(jù)單位不同,各個(gè)屬性的數(shù)據(jù)的值域范圍可能相差很大,在進(jìn)行數(shù)據(jù)分析和挖掘時(shí)可能會(huì)影響結(jié)果的準(zhǔn)確性,如圖3-21所示,年齡和月薪這兩個(gè)屬性的數(shù)據(jù)尺度相差很大。圖3-21
不同尺度數(shù)據(jù)的示例圖3.4數(shù)據(jù)預(yù)處理1.數(shù)據(jù)歸一化
數(shù)據(jù)歸一化是將數(shù)據(jù)變換為[0,1]之間的小數(shù),這樣可以把有量綱的數(shù)據(jù)轉(zhuǎn)變?yōu)闊o(wú)量綱表示,就能夠避免值域或量綱對(duì)數(shù)據(jù)的影響,便于對(duì)數(shù)據(jù)進(jìn)行分析和挖掘。3.4數(shù)據(jù)預(yù)處理(1)Max-Min歸一化方法Max-Min歸一化也稱為離差歸一化,該方法對(duì)原始數(shù)據(jù)進(jìn)行線性變換,變換后的數(shù)據(jù)區(qū)間為[0,1],公式為
這種方法的適應(yīng)性非常廣泛,它對(duì)數(shù)據(jù)歸一化的同時(shí)還能較好地保持原有數(shù)據(jù)的分布結(jié)構(gòu)?!景咐?-5】Max-Min歸一化實(shí)例。
在一次考試中,某學(xué)生的語(yǔ)文成績(jī)是90分,英語(yǔ)成績(jī)也是90分。單從這次考試分?jǐn)?shù)來(lái)評(píng)價(jià),似乎該學(xué)生的語(yǔ)文和英語(yǔ)學(xué)得一樣好。但是,語(yǔ)文總分是150分,而英語(yǔ)總分是120分,你還認(rèn)為該學(xué)生的語(yǔ)文和英語(yǔ)成績(jī)是一樣的嗎?
由于各科的考題難度不盡相同,假設(shè)班級(jí)中語(yǔ)文的最低分是60分,最高分是140分;英語(yǔ)的最低分是80分,最高分是110分。3.4數(shù)據(jù)預(yù)處理(1)Max-Min歸一化方法根據(jù)Max-Min歸一化公式,計(jì)算出該學(xué)生的歸一化語(yǔ)文成績(jī):
0.375=(90-60)
/
(140-60)歸一化的英語(yǔ)成績(jī):
0.33
≈
(90-80)
/
(110-80)因此,該學(xué)生的語(yǔ)文成績(jī)優(yōu)于英語(yǔ)成績(jī)。3.4數(shù)據(jù)預(yù)處理(2)用于稀疏數(shù)據(jù)的MaxAbs
MaxAbs根據(jù)最大的絕對(duì)值進(jìn)行標(biāo)準(zhǔn)化,變換后的數(shù)據(jù)區(qū)間為[-1,1]。MaxAbs具有不破壞原有數(shù)據(jù)分布結(jié)構(gòu)的特點(diǎn),可以用于稀疏數(shù)據(jù),或者稀疏的CSR或CSC矩陣。
3.4數(shù)據(jù)預(yù)處理2.數(shù)據(jù)標(biāo)準(zhǔn)化數(shù)據(jù)標(biāo)準(zhǔn)化的目的是將不同規(guī)模和量綱的數(shù)據(jù)經(jīng)過(guò)處理,消除變量間的量綱關(guān)系,從而使數(shù)據(jù)具有可比性,以減少規(guī)模、特征、分布差異等對(duì)模型的影響。Z-Score標(biāo)準(zhǔn)化可將數(shù)據(jù)轉(zhuǎn)換成標(biāo)準(zhǔn)正態(tài)分布,其轉(zhuǎn)換公式如下:Z-Score標(biāo)準(zhǔn)化之后的數(shù)據(jù)是以0為均值,以1為方差1的正態(tài)分布。但是Z-Score標(biāo)準(zhǔn)化方法是一種中心化方法,會(huì)改變?cè)袛?shù)據(jù)的分布結(jié)構(gòu),不適合用于對(duì)稀疏數(shù)據(jù)做處理。3.4數(shù)據(jù)預(yù)處理2.數(shù)據(jù)標(biāo)準(zhǔn)化【案例3-6】Z-Score標(biāo)準(zhǔn)化實(shí)例。
Z-Score標(biāo)準(zhǔn)化的主要目的就是將不同量級(jí)的數(shù)據(jù)轉(zhuǎn)化為同一個(gè)量級(jí),統(tǒng)一用計(jì)算出的Z-Score值衡量,以保證數(shù)據(jù)之間的可比性。假設(shè)兩個(gè)班級(jí)考試,所采用的試卷不同:A班級(jí)的平均分是80分,標(biāo)準(zhǔn)差是10,劉考了90分;B班的平均分是400分,標(biāo)準(zhǔn)差是100,馬考了600分。那么利用Z-Score公式計(jì)算它們的標(biāo)準(zhǔn)分?jǐn)?shù),看看誰(shuí)更優(yōu)秀。
劉:(90-80)/10=1
馬:(600-400)/100=2
因此馬更優(yōu)秀。3.4數(shù)據(jù)預(yù)處理3.數(shù)據(jù)類型的轉(zhuǎn)換在對(duì)數(shù)據(jù)進(jìn)行分析和挖掘時(shí),為了適應(yīng)不同算法或不同應(yīng)用場(chǎng)景的要求,可能需要在定性數(shù)據(jù)和定量數(shù)據(jù)之間進(jìn)行轉(zhuǎn)換,即有時(shí)需要把定性數(shù)據(jù)轉(zhuǎn)換為定量數(shù)據(jù),而有時(shí)需要把定量數(shù)據(jù)轉(zhuǎn)換為定性數(shù)據(jù)。以下介紹一些常用數(shù)據(jù)類型的轉(zhuǎn)換方法。3.4數(shù)據(jù)預(yù)處理(1)標(biāo)稱數(shù)據(jù)的數(shù)值化編碼最常用的是獨(dú)熱編碼(One-HotEncoding)和標(biāo)簽編碼(LabelEncoding)兩種編碼方法。獨(dú)熱編碼又稱為一位有效編碼,主要是采用N位狀態(tài)寄存器(有0和1兩個(gè)狀態(tài))來(lái)對(duì)數(shù)據(jù)的N個(gè)狀態(tài)進(jìn)行編碼,如表3-3所示,“公司名”屬性的每個(gè)值被編碼為3個(gè)屬性值(因?yàn)樵搶傩杂?個(gè)不同的值:豐田汽車、本田汽車和大眾汽車),每個(gè)數(shù)據(jù)轉(zhuǎn)換后只有一個(gè)屬性為1,其他為0。表3-3獨(dú)熱編碼的示例公司名豐田汽車本田汽車大眾汽車豐田汽車100本田汽車010大眾汽車0013.4數(shù)據(jù)預(yù)處理(1)標(biāo)稱數(shù)據(jù)的數(shù)值化編碼標(biāo)簽編碼將標(biāo)稱數(shù)據(jù)轉(zhuǎn)換成數(shù)值型數(shù)據(jù),即對(duì)不連續(xù)的數(shù)字或文本進(jìn)行順序編號(hào),對(duì)表3-3中的數(shù)據(jù)運(yùn)用標(biāo)簽編碼的結(jié)果如表3-4所示。表3-4標(biāo)簽編碼的示例可以看出,標(biāo)簽編碼方法將原本無(wú)序的數(shù)據(jù)變成有序的數(shù)值序列,這是標(biāo)簽編碼的明顯缺陷。公司名公司編碼豐田汽車0本田汽車1大眾汽車23.4數(shù)據(jù)預(yù)處理(2)連續(xù)變量的離散化處理對(duì)連續(xù)變量離散化處理是把連續(xù)量轉(zhuǎn)換為離散值,如某門課程的成績(jī)可以根據(jù)分?jǐn)?shù)段,將其轉(zhuǎn)換為差、中、良、優(yōu)(或D、C、B、A);又如客戶的年齡數(shù)據(jù),將其轉(zhuǎn)換為青年、中年、老年等,如圖3-22所示。常用的數(shù)據(jù)離散化方法有:等寬法、等頻法和基于聚類的分析方法等。例如,有一組實(shí)數(shù)(浮點(diǎn)數(shù))的數(shù)值在0到100之間,采用等寬法將數(shù)據(jù)劃分為10個(gè)區(qū)間,將處于[0,10)區(qū)間的數(shù)轉(zhuǎn)換為1,將處于[10,20)區(qū)間的數(shù)轉(zhuǎn)換為2,以此類推。3.4數(shù)據(jù)預(yù)處理4.數(shù)據(jù)編碼用統(tǒng)一的編碼標(biāo)準(zhǔn)對(duì)信息記錄進(jìn)行編碼,用一個(gè)編碼符號(hào)代表一條信息或一串?dāng)?shù)據(jù)。運(yùn)用數(shù)據(jù)編碼方法可以對(duì)采集的大數(shù)據(jù)進(jìn)行規(guī)范化管理,提高處理效率和精度。例如,我國(guó)的身份證號(hào)碼就是一種帶有特定含義的編碼方案,它可以表示某人所在省市區(qū)、出生年月、性別等,因此可以用特定的算法進(jìn)行分類、校核、檢索、統(tǒng)計(jì)和分析操作。3.4數(shù)據(jù)預(yù)處理3.4.4數(shù)據(jù)歸約數(shù)據(jù)歸約是指在盡可能保持?jǐn)?shù)據(jù)原貌的前提下,最大限度地精簡(jiǎn)數(shù)據(jù)量,得到數(shù)據(jù)的簡(jiǎn)化表示。1.特征歸約(降維)特征歸約是指從原始特征中排除不重要或不相關(guān)的特征(特征選擇),或通過(guò)重新組合特征來(lái)減少特征的數(shù)量(特征投影)。其原理是降低特征向量的維度,同時(shí)保持甚至提高原有的分辨能力。3.4數(shù)據(jù)預(yù)處理2.數(shù)量歸約(數(shù)量削減)數(shù)量歸約是指用較簡(jiǎn)單的數(shù)據(jù)表示形式替換原數(shù)據(jù),或者采用較小的數(shù)據(jù)單位,或者用數(shù)據(jù)模型代替數(shù)據(jù)以減少數(shù)據(jù)量。常用的方法有直方圖、用簇中心表示實(shí)際數(shù)據(jù)、抽樣和參數(shù)回歸法,以及特征值離散化技術(shù)等。特征值離散化技術(shù)是將連續(xù)的特征值離散成少量的區(qū)間,每個(gè)區(qū)間被映射為一個(gè)離散的符號(hào),該技術(shù)的優(yōu)點(diǎn)是簡(jiǎn)化了數(shù)據(jù)的描述,使人們更容易理解數(shù)據(jù)和最終的挖掘結(jié)果。3.4數(shù)據(jù)預(yù)處理3.樣本歸約(數(shù)據(jù)抽樣)樣本的數(shù)量通常很大,質(zhì)量或高或低。樣本歸約就是從數(shù)據(jù)集中選出一個(gè)有代表性的樣本的子集。在確定子集大小時(shí),應(yīng)考慮計(jì)算成本、存儲(chǔ)要求、估計(jì)的準(zhǔn)確性,以及與算法和數(shù)據(jù)的特點(diǎn)有關(guān)的其他因素。3.5使用OpenRefine對(duì)數(shù)據(jù)進(jìn)行預(yù)處理OpenRefine是一種開源的交互式數(shù)據(jù)轉(zhuǎn)換工具,可以對(duì)結(jié)構(gòu)型的數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗、修正、分類、排序、篩選與整理,它的功能強(qiáng)大,使用比較簡(jiǎn)便。OpenRefine軟件的前身是MetaWeb公司于2009年發(fā)布的一個(gè)開源軟件,Google公司在2010年收購(gòu)了MetaWeb,把項(xiàng)目的名稱從FreebaseGridworks改成了GoogleRefine。2012年,Google公司放棄了對(duì)Refine的支持,讓它重新成為開源軟件,名字改成了OpenRefine。前的OpenRefine有Windows、Mac和Linux版本,以下用OpenRefine3.6.2forWindows版和示例數(shù)據(jù)集movie-metadata為例介紹該軟件的基本使用方法。3.5使用OpenRefine對(duì)數(shù)據(jù)進(jìn)行預(yù)處理1.下載安裝OpenRefine軟件訪問(wèn)OpenRefine的官網(wǎng)(/),下載所需的版本,如圖3-24所示。運(yùn)行OpenRefine需要Java運(yùn)行環(huán)境的支持,因此首先需要安裝OpenRefine要求的JDK(JavaDevelopmentKit)版本(注:OpenRefine3.7.4要求JDK版本大于11)。將下載的OpenRefine壓縮包解壓到某個(gè)文件夾中,然后運(yùn)行openrefine.exe程序,如果當(dāng)前計(jì)算機(jī)環(huán)境中沒(méi)有配置Java運(yùn)行環(huán)境,會(huì)提示下載并安裝JDK。圖3-24
下載OpenRefine3.5使用OpenRefine對(duì)數(shù)據(jù)進(jìn)行預(yù)處理2.建立OpenRefine項(xiàng)目OpenRefine啟動(dòng)后是以本地Web服務(wù)(默認(rèn)端口號(hào)為3333)運(yùn)行的,可以用瀏覽器訪問(wèn):3333打開初始界面,如圖3-25所示。圖3-25OpenRefine初始頁(yè)面3.5使用OpenRefine對(duì)數(shù)據(jù)進(jìn)行預(yù)處理2.建立OpenRefine項(xiàng)目在OpenRefine初始頁(yè)面中單擊“選擇文件”按鈕打開本地?cái)?shù)據(jù)文件,接著單擊“下一步>>”按鈕進(jìn)入文件格式選項(xiàng)設(shè)置對(duì)話框。注意:如果是CSV或Excel文件,需要在彈出的對(duì)話框下方的選項(xiàng)中勾選“將單元格中的文本解析為數(shù)字”選項(xiàng),如圖3-27所示,否則OpenRefine會(huì)將實(shí)數(shù)列作為文本處理。圖3-27CSV和Excel文件需要勾選的格式選項(xiàng)
輸入項(xiàng)目名稱,單擊“新建項(xiàng)目”按鈕建立OpenRefine項(xiàng)目。3.5使用OpenRefine對(duì)數(shù)據(jù)進(jìn)行預(yù)處理3.OpenRefine的數(shù)據(jù)預(yù)處理功能選擇想要處理的列(屬性/特
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《急性盆腔炎寧瑛》課件
- 《晏子使楚教學(xué)》課件
- 《癌癥的預(yù)防與治療》課件
- 《日本美食介紹課件》課件
- 2023年浙江省臺(tái)州市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2021年河南省開封市公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 2022年遼寧省錦州市公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 2022年安徽省六安市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 最美教師主要事跡
- 《演講與表達(dá)》課件
- 山東省濟(jì)南市2022年中考英語(yǔ)情景運(yùn)用拔高練習(xí)(Word版含答案)
- 中學(xué)校本課程教材《生活中的化學(xué)》
- 污水處理站運(yùn)行維護(hù)管理方案
- 農(nóng)村公路養(yǎng)護(hù)工程施工組織設(shè)計(jì)
- 個(gè)人如何開辦婚介公司,婚介公司經(jīng)營(yíng)和管理
- 公司物流倉(cāng)儲(chǔ)規(guī)劃方案及建議書
- 天津市歷年社會(huì)保險(xiǎn)繳費(fèi)基數(shù)、比例
- 2024國(guó)家開放大學(xué)電大??啤秾W(xué)前兒童發(fā)展心理學(xué)》期末試題及答案
- 汽車座椅面套縫紉工時(shí)定額的研究
- 立體幾何常考定理總結(jié)(八大定理)
- 噴嘴壓力計(jì)算表及選型
評(píng)論
0/150
提交評(píng)論