《大數(shù)據(jù)導(dǎo)論》課件 第3章 大數(shù)據(jù)采集與預(yù)處理_第1頁
《大數(shù)據(jù)導(dǎo)論》課件 第3章 大數(shù)據(jù)采集與預(yù)處理_第2頁
《大數(shù)據(jù)導(dǎo)論》課件 第3章 大數(shù)據(jù)采集與預(yù)處理_第3頁
《大數(shù)據(jù)導(dǎo)論》課件 第3章 大數(shù)據(jù)采集與預(yù)處理_第4頁
《大數(shù)據(jù)導(dǎo)論》課件 第3章 大數(shù)據(jù)采集與預(yù)處理_第5頁
已閱讀5頁,還剩86頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第3章大數(shù)據(jù)采集與預(yù)處理演講人2024/12/24大數(shù)據(jù)采集與預(yù)處理本章學(xué)習(xí)目標(biāo)了解大數(shù)據(jù)的來源和大數(shù)據(jù)采集的基本方法了解常用的數(shù)據(jù)采集工具熟悉數(shù)據(jù)預(yù)處理的基本方法培養(yǎng)兼收并蓄、去蕪存菁的理念與價值觀,以及精益求精的工匠精神目錄3.1認(rèn)識數(shù)據(jù)3.2大數(shù)據(jù)的來源和采集途徑3.3常用大數(shù)據(jù)采集工具的簡介3.4數(shù)據(jù)預(yù)處理3.5使用OpenRefine對數(shù)據(jù)進(jìn)行預(yù)處理3.6小結(jié)3.1認(rèn)識數(shù)據(jù)

認(rèn)識數(shù)據(jù)是處理和分析數(shù)據(jù)的前提,不僅要了解數(shù)據(jù)的屬性(維)、類型和量綱,還要了解數(shù)據(jù)的分布特性,洞察數(shù)據(jù)的特征,檢驗數(shù)據(jù)的質(zhì)量,以便后續(xù)的分析和處理工作。3.1認(rèn)識數(shù)據(jù)3.1.1數(shù)據(jù)的屬性和類型

所謂“屬性”是指數(shù)據(jù)對象的特征,也稱為數(shù)據(jù)字段、維。

如圖3-1所示,iris數(shù)據(jù)集(鳶尾花數(shù)據(jù)集)有4個屬性(特征),分別為sepallength、sepalwidth、petallength和petalwidth,以及一個類別屬性class。其中class屬性為標(biāo)稱數(shù)據(jù)(表示類別的標(biāo)稱數(shù)據(jù)),其他4個屬性為定量數(shù)據(jù)(數(shù)值型數(shù)據(jù))。在數(shù)據(jù)分析領(lǐng)域,數(shù)據(jù)的屬性也被稱為特征、自變量、解釋變量或觀測值;數(shù)據(jù)的標(biāo)簽也被稱為因變量(如iris數(shù)據(jù)集中的class屬性)。圖3-1iris數(shù)據(jù)集的屬性3.1認(rèn)識數(shù)據(jù)(1)定性類型

具有定性屬性的數(shù)據(jù)是表示事物性質(zhì)、規(guī)定事物類別的文字表述型數(shù)據(jù)。(1)標(biāo)稱數(shù)據(jù)(NominalData):是一些符號或事物的名稱,每個值代表某種類別、編碼或狀態(tài),如性別分類中的“男”“女”;表示顏色的“紅”“黃”“藍(lán)”等。(2)二元數(shù)據(jù)(binary):只有兩個值或狀態(tài),0或1,又可以稱為布爾屬性(值為true或false)。(3)序值型數(shù)據(jù)(ordinalvariable):其可能的值之間具備有意義的序或秩評定,如成績{“差”“中”“良”“優(yōu)”}。

以上3種類型都是對數(shù)據(jù)對象特征的定性描述,而不給出實際大小或數(shù)量。數(shù)據(jù)的基本屬性類型可以分為兩大類:定性屬性和定量屬性。3.1認(rèn)識數(shù)據(jù)(2)定量類型

定量屬性是描述數(shù)據(jù)對象屬性的數(shù)值大小,如長度、速度、半徑等的數(shù)量值,定量屬性有整數(shù)(離散)和浮點數(shù)(連續(xù))兩種形式。實際上,在許多真實的數(shù)據(jù)集中,數(shù)據(jù)對象通常是混合類型的,一個數(shù)據(jù)對象的屬性可能包含上面列舉的多種類型。3.1認(rèn)識數(shù)據(jù)3.1.2數(shù)據(jù)的量綱

數(shù)據(jù)屬性的值,有時是有單位的,稱作量綱數(shù)據(jù)。所謂量綱,是指物理量的基本屬性。例如,物理學(xué)中的7個基本量,長度、質(zhì)量、時間、電流、熱力學(xué)溫度、物質(zhì)的量和發(fā)光強(qiáng)度、的量綱分別用L、M、T、I、Θ、n和J表示。

有些數(shù)據(jù)是有量綱的,比如身高、長度、時間、質(zhì)量、速度;而有些數(shù)據(jù)是沒有量綱的,比如男女比例、兩個長度之比。無量綱化,是指去除數(shù)據(jù)的單位限制,將其轉(zhuǎn)換為無量綱的純數(shù)值,便于不同單位或不同量級的指標(biāo)能夠進(jìn)行比較和加權(quán)。

不同的評價指標(biāo)往往具有不同的量綱,數(shù)據(jù)之間的差別可能很大,不進(jìn)行處理會影響數(shù)據(jù)分析的結(jié)果。為了消除指標(biāo)之間的量綱和取值范圍差異對數(shù)據(jù)分析結(jié)果的影響,需要對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,也就是說,把數(shù)據(jù)按照比例進(jìn)行縮放,使之落入一個特定的區(qū)間,便于進(jìn)行綜合分析。例如,歸一化處理是把數(shù)變?yōu)閇0,1]之間的小數(shù),可以把有量綱的數(shù)據(jù)轉(zhuǎn)換為無量綱的純數(shù)值。3.2大數(shù)據(jù)的來源和采集途徑3.2.1大數(shù)據(jù)的來源

大數(shù)據(jù)的來源非常廣泛,如互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、信息管理系統(tǒng)、科學(xué)實驗和計算機(jī)系統(tǒng)的日志等。按照產(chǎn)生數(shù)據(jù)的主體來劃分,大數(shù)據(jù)主要有三個來源:對現(xiàn)實世界的測量、人類的記錄、計算機(jī)產(chǎn)生的數(shù)據(jù)3.2大數(shù)據(jù)的來源和采集途徑(1)對現(xiàn)實世界的測量

通過感知設(shè)備獲得的數(shù)據(jù),這類數(shù)據(jù)包括傳感器采集的數(shù)據(jù)(如環(huán)境監(jiān)測、工業(yè)物聯(lián)網(wǎng)和智能交通的傳感數(shù)據(jù)),科學(xué)儀器產(chǎn)生的數(shù)據(jù)、攝像頭的監(jiān)控影像等。例如,在新冠肺炎疫情期間,許多商場都在門口安裝了紅外線體溫檢測儀,路過的行人在其視野范圍內(nèi)都會接受測量,所得的體溫信息會被馬上記錄下來,這便是一種大數(shù)據(jù)的來源。

此類數(shù)據(jù)的特點是:數(shù)據(jù)模式比較固定、數(shù)據(jù)規(guī)模極大、數(shù)據(jù)質(zhì)量參差不齊,數(shù)據(jù)的價值密度低。3.2大數(shù)據(jù)的來源和采集途徑(2)人類的記錄

由人類錄入計算機(jī)形成的數(shù)據(jù),如信息管理系統(tǒng)、社交軟件、電子商務(wù)系統(tǒng)、企業(yè)財務(wù)系統(tǒng)等產(chǎn)生的數(shù)據(jù)。例如,個人的電子郵件、Word、照片、視頻、音頻、QQ空間、微信朋友圈、社交軟件的聊天記錄等,以及電子商務(wù)系統(tǒng)記錄的交易數(shù)據(jù)、信用卡刷卡數(shù)據(jù)等。

此類數(shù)據(jù)的特點是:數(shù)據(jù)模式多樣、數(shù)據(jù)規(guī)模較大、數(shù)據(jù)質(zhì)量參差不齊、語義不明確,數(shù)據(jù)的價值密度低。3.2大數(shù)據(jù)的來源和采集途徑(3)計算機(jī)產(chǎn)生的數(shù)據(jù)

由計算機(jī)程序生成的數(shù)據(jù),如服務(wù)器的日志、計算機(jī)的運(yùn)算結(jié)果、軟件生成的圖像和視頻等。

此類數(shù)據(jù)的特點是:由程序自動生成,數(shù)據(jù)模式固定、數(shù)據(jù)質(zhì)量高、語義明確,數(shù)據(jù)的價值密度與產(chǎn)生數(shù)據(jù)的程序相關(guān)。3.2大數(shù)據(jù)的來源和采集途徑3.2.2大數(shù)據(jù)采集的途徑

數(shù)據(jù)采集是指從真實世界中獲得原始數(shù)據(jù)的過程,它是大數(shù)據(jù)應(yīng)用的基礎(chǔ)環(huán)節(jié),具有非常重要的作用,數(shù)據(jù)采集的手段通常有以下5種。3.2大數(shù)據(jù)的來源和采集途徑(1)傳感數(shù)據(jù)的采集

傳感數(shù)據(jù)的采集通過傳感器采集物理世界的信息,例如通過環(huán)境監(jiān)測傳感器、工業(yè)傳感器采集熱、光、氣、電、磁、聲和力等數(shù)據(jù),通過多媒體數(shù)據(jù)采集設(shè)備獲取圖像、音頻和視頻數(shù)據(jù)等。3.2大數(shù)據(jù)的來源和采集途徑(2)系統(tǒng)日志的采集

系統(tǒng)日志的采集主要采集數(shù)字設(shè)備和計算機(jī)系統(tǒng)運(yùn)行狀態(tài)的日志。許多數(shù)字設(shè)備和計算機(jī)系統(tǒng)每天都會產(chǎn)生大量的日志,一般為流式數(shù)據(jù),如信息管理系統(tǒng)的操作日志、服務(wù)器的運(yùn)行狀態(tài)和搜索引擎的查詢等。收集和處理這些日志通常需要專門的日志采集系統(tǒng),如ApacheFlume、Chukwa、Meta(原名為Facebook)的Scribe和LinkedIn的Kafka等。3.2大數(shù)據(jù)的來源和采集途徑(3)數(shù)據(jù)庫數(shù)據(jù)的采集

許多企業(yè)和單位在信息化過程中結(jié)合自身業(yè)務(wù)建立了各種各樣的數(shù)據(jù)庫系統(tǒng),積累了大量的數(shù)據(jù)。從傳統(tǒng)的關(guān)系型數(shù)據(jù)庫中采集數(shù)據(jù),需要利用對接關(guān)系型數(shù)據(jù)庫和大數(shù)據(jù)平臺的數(shù)據(jù)采集引擎(如數(shù)據(jù)采集工具Sqoop),從數(shù)據(jù)庫中進(jìn)行數(shù)據(jù)的采集和匯聚,并將數(shù)據(jù)傳輸?shù)酱髷?shù)據(jù)平臺上。3.2大數(shù)據(jù)的來源和采集途徑(4)網(wǎng)絡(luò)數(shù)據(jù)的采集

網(wǎng)絡(luò)數(shù)據(jù)的采集通??梢苑譃榫W(wǎng)頁內(nèi)容的采集和網(wǎng)絡(luò)流量采集的兩種類型。

網(wǎng)頁內(nèi)容的采集是指通過網(wǎng)絡(luò)爬蟲或網(wǎng)站公開API等方式從網(wǎng)站上獲取數(shù)據(jù)信息,該方法可以將非結(jié)構(gòu)化的數(shù)據(jù)從網(wǎng)頁中抽取出來,將其存儲為統(tǒng)一的本地數(shù)據(jù)文件,并以結(jié)構(gòu)化或非結(jié)構(gòu)化的方式存儲,圖3-2所示為網(wǎng)絡(luò)爬蟲的工作原理示意圖。3.2大數(shù)據(jù)的來源和采集途徑(4)網(wǎng)絡(luò)數(shù)據(jù)的采集

網(wǎng)絡(luò)流量的采集可以使用DPI(DeepPacketInspection,深度包檢測)和DFI(Deep/DynamicFlowInspection,深度/動態(tài)流檢測)等帶寬管理技術(shù)進(jìn)行處理。DPI技術(shù)在分析包頭的基礎(chǔ)上,增加了對應(yīng)用層的分析,這是一種基于應(yīng)用層的流量檢測和控制技術(shù)。DFI僅對網(wǎng)絡(luò)流量的行為進(jìn)行分析,因此只能對應(yīng)用的類型進(jìn)行籠統(tǒng)分類,但速度很快。3.2大數(shù)據(jù)的來源和采集途徑(5)外包和眾包

外包(Outsourcing)是指將所要進(jìn)行的數(shù)據(jù)采集任務(wù)交付給已知的雇員去完成。

眾包(Crowdsourcing)是指數(shù)據(jù)采集任務(wù)由一群不固定,通常數(shù)量很大的參與者共同協(xié)作完成,例如Wikipedia(維基百科)就是一個成功應(yīng)用“眾包”方法構(gòu)建的龐大知識庫。3.3常用大數(shù)據(jù)采集工具的簡介

在數(shù)據(jù)規(guī)模不斷擴(kuò)大的情況下,運(yùn)用數(shù)據(jù)采集自動化工具,從外部系統(tǒng)和互聯(lián)網(wǎng)等自動獲取、傳輸和記錄數(shù)據(jù)已經(jīng)成為必要的技術(shù)手段。目前常用的大數(shù)據(jù)采集工具有爬山虎采集器、八爪魚采集器、Scrapy、Flume、Chukwa、Kafka和Sqoop等,表3-1所示為它們的功能和特點。3.3常用大數(shù)據(jù)采集工具的簡介名稱類型功能和特點研制者或項目來源爬山虎采集器網(wǎng)頁爬蟲簡單易用、無須編程、智能識別合肥簡數(shù)信息技術(shù)有限公司采集器網(wǎng)頁爬蟲簡單易用、無須編程、自定義模板深圳視界信息技術(shù)有限公司基于Python的網(wǎng)頁抓取框架具有高度可定制性的網(wǎng)頁采集工具開源GitHub項目Flume日志采集中間件分布式海量日志采集、聚合和傳輸系統(tǒng);數(shù)據(jù)源可定制、可擴(kuò)展。公司開源的Apache項目Chukwa基于Hadoop集群的日志處理/分析開源的用于監(jiān)控大型的數(shù)據(jù)收集系統(tǒng)ApacheHadoop項目的系列產(chǎn)品Kafka基于消息發(fā)布-訂閱的流處理平臺分布式的消息發(fā)布-訂閱系統(tǒng),用于將數(shù)據(jù)流從一個應(yīng)用程序傳輸?shù)搅硪粋€應(yīng)用程序LinkedIn公司開源的Apache項目Sqoop數(shù)據(jù)傳輸工具在Hadoop和關(guān)系型數(shù)據(jù)之間傳遞數(shù)據(jù)Apache開源軟件表3-1常用的大數(shù)據(jù)采集工具3.3常用大數(shù)據(jù)采集工具的簡介3.3.1爬山虎采集器

爬山虎采集器是一款通用的網(wǎng)頁采集軟件,它能夠采集互聯(lián)網(wǎng)上的大部分網(wǎng)站數(shù)據(jù),包括網(wǎng)頁表格數(shù)據(jù)、文檔、圖片及其他各種形式文件,自動批量下載到本地電腦。它不僅可以將采集到的數(shù)據(jù)導(dǎo)出為多種格式文件(如TXT文本、Excel表格、CSV文件)、數(shù)據(jù)庫(如MySQL、SQLite、Access和SQLServer)、網(wǎng)站API接口,還可以定時運(yùn)行、自動發(fā)布、增量更新采集,完全實現(xiàn)自動化運(yùn)行,無須人工干預(yù),極大地提高了人們從互聯(lián)網(wǎng)上獲取數(shù)據(jù)的效率。爬山虎采集器目前只提供Windows版本客戶端軟件,其主界面如圖3-3所示。

爬山虎采集器內(nèi)置了上百種簡易采集規(guī)則,能夠?qū)W(wǎng)頁源碼自動進(jìn)行智能分析,用戶只需要通過一些簡單參數(shù)(如關(guān)鍵詞、網(wǎng)址)就可以開始采集。圖3-4所示為作者使用“自定義采集”功能對京東網(wǎng)上的手機(jī)商品列表進(jìn)行數(shù)據(jù)采集的截圖,從中可以看出爬山虎采集器可以對該網(wǎng)頁進(jìn)行智能分析,獲取到商品名稱、商品價格和詳情鏈接等信息。3.3常用大數(shù)據(jù)采集工具的簡介3.3.1爬山虎采集器圖3-3爬山虎采集器客戶端軟件的主界面3.3常用大數(shù)據(jù)采集工具的簡介3.3.1爬山虎采集器圖3-4爬山虎采集器采集京東網(wǎng)上手機(jī)商品數(shù)據(jù)的示意圖3.3常用大數(shù)據(jù)采集工具的簡介3.3.1爬山虎采集器圖3-5爬山虎采集器采集京東網(wǎng)上手機(jī)商品數(shù)據(jù)的結(jié)果截圖3.3常用大數(shù)據(jù)采集工具的簡介3.3.2八爪魚采集器

八爪魚采集器是一種智能網(wǎng)頁爬蟲工具,其原理是模擬人的網(wǎng)頁瀏覽行為,通過內(nèi)置谷歌瀏覽器瀏覽網(wǎng)頁數(shù)據(jù)。使用者根據(jù)網(wǎng)頁特性和采集需求,設(shè)計采集流程,八爪魚會根據(jù)流程全自動采集數(shù)據(jù)。

八爪魚采集器的客戶端軟件目前提供Windows和Mac兩種版本。本書下載八爪魚Windows客戶端。安裝完成后,在開始菜單或桌面上找到八爪魚采集器的快捷方式,啟動八爪魚采集器,進(jìn)行注冊和登錄。八爪魚客戶端界面的示意圖如圖3-6所示。圖3-6八爪魚客戶端界面的示意圖3.3常用大數(shù)據(jù)采集工具的簡介3.3.3基于Python的網(wǎng)頁抓取框架Scrapy

Scrapy是一個Python語言開發(fā)的基于異步模型的網(wǎng)頁抓取框架,用于抓取網(wǎng)站并從頁面中提取結(jié)構(gòu)化數(shù)據(jù)。它的用途廣泛,可以用于數(shù)據(jù)挖掘、監(jiān)控和自動化測試等。

Scrapy的吸引人之處在于它是一個框架,任何人都可以根據(jù)需求修改,它也提供了多種類型爬蟲的基類,如BaseSpider、SiteMap爬蟲等,其最新版本還提供了Web2.0爬蟲的支持。接下來介紹一個Scrapy的應(yīng)用案例?!景咐?-1】用Scrapy框架編寫基于Python語言的爬蟲程序,用于采集豆瓣讀書評分9分以上的圖書數(shù)據(jù),要求采集到的每本圖書的數(shù)據(jù)包括:書名、評分、作者、出版社和出版年份,并保存為本地CSV文件。豆瓣讀書評分9分以上榜單的網(wǎng)頁示意圖如圖3-7所示。3.3常用大數(shù)據(jù)采集工具的簡介3.3.3基于Python的網(wǎng)頁抓取框架Scrapy

圖3-7豆瓣讀書評分9分以上榜單網(wǎng)頁示意圖

在編寫Scrapy爬蟲程序時,需要對如圖3-8所示的網(wǎng)頁源碼進(jìn)行解析,并模擬單擊翻頁鏈接的動作,把所有評分9分以上的圖書數(shù)據(jù)(共34個頁面)都采集下來。圖3-7豆瓣讀書評分9分以上榜單網(wǎng)頁示意圖3.3常用大數(shù)據(jù)采集工具的簡介3.3.3基于Python的網(wǎng)頁抓取框架Scrapy

圖3-8豆瓣讀書評分9分以上榜單的網(wǎng)頁源碼截圖圖3-8豆瓣讀書評分9分以上榜單的網(wǎng)頁源碼截圖3.3常用大數(shù)據(jù)采集工具的簡介3.3.3基于Python的網(wǎng)頁抓取框架Scrapy圖3-9Scrapy爬蟲程序采集的網(wǎng)頁數(shù)據(jù)示意圖采集完成后保存到本地文件的結(jié)果如圖3-9所示。3.3常用大數(shù)據(jù)采集工具的簡介3.3.4日志收集工具Flume

Flume是Apache的頂級項目,用于日志數(shù)據(jù)的采集。Flume提供一種分布式、可靠的服務(wù),用于高效地收集、聚合和移動大量的日志數(shù)據(jù),它具備可調(diào)節(jié)的可靠性機(jī)制、故障轉(zhuǎn)移和恢復(fù)機(jī)制,具有強(qiáng)大的容錯能力。

Flume支持在日志系統(tǒng)中定制各類數(shù)據(jù)源,可以對數(shù)據(jù)進(jìn)行簡單的處理,并將數(shù)據(jù)輸出到各種數(shù)據(jù)接受方,其設(shè)計的原理是基于將數(shù)據(jù)流(如日志數(shù)據(jù))從各種網(wǎng)站服務(wù)器上匯集起來,存儲到大數(shù)據(jù)平臺中。接下來,介紹兩個Flume的應(yīng)用場景。

場景1:某個在線購物App需要建立用戶推薦系統(tǒng)(UserRecommendationSystem),其可以根據(jù)用戶訪問的節(jié)點區(qū)域、瀏覽的商品信息等來分析消費(fèi)者的行為或購買意圖,以便更加快速地將用戶可能想要購買的商品推送到界面上。為了實現(xiàn)這一功能,就需要收集用戶在App上點擊的產(chǎn)品數(shù)據(jù)、訪問的頁面和訪問時間等日志信息,并保存到后臺的大數(shù)據(jù)平臺上去進(jìn)行分析和挖掘,這樣的需求就可以用Flume來實現(xiàn)。3.3常用大數(shù)據(jù)采集工具的簡介3.3.4日志收集工具Flume場景2:目前許多新聞類App(如今日頭條、騰訊新聞等)大都具有內(nèi)容推送、廣告定時投放和新聞私人訂制等功能,這需要收集用戶操作的日志信息(如用戶曾經(jīng)看過的新聞、視頻、觀看時間和IP地址等),以便使用智能推薦系統(tǒng)進(jìn)行分析,更精準(zhǔn)地向用戶推薦可能感興趣的內(nèi)容和廣告。3.3常用大數(shù)據(jù)采集工具的簡介3.3.4日志收集工具Flume

Flume的核心流程是把數(shù)據(jù)從數(shù)據(jù)源收集過來,經(jīng)過傳送通道將收集到的數(shù)據(jù)送到指定的目的地,圖3-10所示為Flume架構(gòu)的示意圖?!景咐?-2】利用Flume工具采集日志文件。本案例利用Flume工具,從多臺Linux主機(jī)的特定目錄中采集日志文件(數(shù)據(jù)源),匯總傳輸?shù)街付ǖ闹鳈C(jī)節(jié)點,并存到Hadoop集群的HDFS文件系統(tǒng)(目的地)中。圖3-10Flume架構(gòu)的示意圖3.3常用大數(shù)據(jù)采集工具的簡介3.3.4日志收集工具Flume

利用Flume工具實時監(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ù)采集工具的簡介3.3.4日志收集工具Flume本案例中Flume數(shù)據(jù)流模型的示意圖如圖3-12所示,我們分別在主機(jī)Node02和Node03中運(yùn)行Flume代理程序(FlumeAgent),監(jiān)視/work/logs文件夾中的日志文件變動情況,實時將新產(chǎn)生的日志數(shù)據(jù)以內(nèi)存作為通道,通過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ù)采集工具的簡介3.3.5分布式消息服務(wù)工具KafkaKafka項目起源于LinkedIn,2011年成為開源Apache項目,在2012年成為Apache的一流項目。目前Kafka已發(fā)展成為功能完善的基于分布式的消息發(fā)布-訂閱系統(tǒng)。

Kafka的架構(gòu)模型示意圖如圖3-13所示。其中,消息發(fā)布者能夠發(fā)布消息。消息接收者可以訂閱一個或多個話題,并從Kafka集群(KafakCluster)上的消息服務(wù)節(jié)點中拉數(shù)據(jù),從而消費(fèi)這些已發(fā)布的消息。3.3常用大數(shù)據(jù)采集工具的簡介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)行分析挖掘之前,對原始數(shù)據(jù)進(jìn)行變換、清洗與集成等一系列操作。通過數(shù)據(jù)預(yù)處理工作,可以使殘缺的數(shù)據(jù)完整、將錯誤的數(shù)據(jù)予以糾正、將多余的數(shù)據(jù)去除,有效提高數(shù)據(jù)的質(zhì)量。

沒有高質(zhì)量的數(shù)據(jù),就沒有高質(zhì)量的數(shù)據(jù)挖掘結(jié)果,低質(zhì)量的數(shù)據(jù)會對許多數(shù)據(jù)挖掘算法有很大的影響,甚至“挖掘”出錯誤的知識。數(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ù)據(jù)清洗就是為了提升數(shù)據(jù)的質(zhì)量,即將“臟”數(shù)據(jù)清洗“干凈”。

數(shù)據(jù)清洗的手段主要包括缺失值填充、數(shù)據(jù)平滑,識別和去除離群點、檢測與修復(fù)不一致性、識別實體與發(fā)現(xiàn)真值等。3.4數(shù)據(jù)預(yù)處理1.缺失值填充圖3-16數(shù)據(jù)集中的缺失值示例(NA表示缺失值)數(shù)據(jù)集中的缺失值可能是由于錯誤或沒有記錄觀察結(jié)果。當(dāng)數(shù)據(jù)集中存在缺失值時,某些數(shù)據(jù)分析或挖掘的算法可能不起作用,也可能無法得到所需的結(jié)果。數(shù)據(jù)集中的缺失值示例(其中NA表示缺失值)如圖3-16所示。3.4數(shù)據(jù)預(yù)處理(1)均值填充03這是因為:96.25=(99+100+91+95)/4.002例如有以下一組數(shù)據(jù):99、100、NaN、91、95(注:其中NaN表示缺失值),使用均值填充后得到:99、100、96.25、91、9501如果缺失值是數(shù)值型的,就根據(jù)該變量在其他所有對象取值的平均值來填充該缺失的變量值。3.4數(shù)據(jù)預(yù)處理(2)眾數(shù)填充如果缺失值是非數(shù)值型的,通常使用眾數(shù)來補(bǔ)齊該缺失的變量值。例如有以下一組數(shù)據(jù):Apple、Orange、Banana、NaN、Apple、Apple、Orange使用眾數(shù)填充時,缺失值NaN將會被Apple替代,這是因為Apple出現(xiàn)的次數(shù)最多(3次),因此這組數(shù)據(jù)中的眾數(shù)為Apple。3.4數(shù)據(jù)預(yù)處理(3)其他填充方法其他的數(shù)據(jù)填充方法有拉格朗日插值法、回歸填充法、熱卡填充法、就近補(bǔ)齊法、極大似然估計法、期望最大化法、k最近鄰域法等。3.4數(shù)據(jù)預(yù)處理2.?dāng)?shù)據(jù)平滑——去除噪聲/異常值噪聲數(shù)據(jù)是指數(shù)據(jù)中存在著錯誤或異常的數(shù)據(jù),這些數(shù)據(jù)對數(shù)據(jù)的分析和挖掘造成了干擾。在實際應(yīng)用中,經(jīng)常會遇到初始結(jié)果噪聲數(shù)據(jù)太多的問題,如音頻中的背景雜音、光譜信號抖動的太厲害等。數(shù)據(jù)中的異常樣本示意圖如圖3-17所示。數(shù)據(jù)平滑就是去除數(shù)據(jù)中的噪聲波動,使數(shù)據(jù)平滑,常用方法有分箱法、移動(滑動)平均法、3σ探測法和k最近領(lǐng)域法等,以下是常用的預(yù)處理方法。圖3-17數(shù)據(jù)中的異常樣本示意圖3.4數(shù)據(jù)預(yù)處理(1)分箱法分箱法是指通過考察“鄰居”(周圍的值)來平滑存儲數(shù)據(jù)的值,存儲的值被分布到一些“桶”或箱中,平滑各個分箱中的數(shù)據(jù),常用的分方法如下。(1)等深(頻)分箱法:各個箱里有相同個數(shù)的數(shù)據(jù)。(2)等寬分箱法:各個箱的取值區(qū)間相同。常用的數(shù)據(jù)平滑的方法有3種。(1)平均數(shù)平滑:箱中每一個值被箱的平均數(shù)替換。(2)中位數(shù)平滑:箱中每一個值被箱的中位數(shù)替換。(3)箱邊界平滑:箱中每一個值被離它最近的箱邊界值替換。3.4數(shù)據(jù)預(yù)處理(1)分箱法【案例3-3】假設(shè)有8、24、15、41、6、10、18、50、25這9個數(shù),先對數(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,這樣該箱中的每一個值被替換為(8,8,8)。(2)按箱中值求得平滑數(shù)據(jù)的值:如箱2的中位數(shù)為18,可以使用按箱中值平滑,這樣該箱中的每一個值被替換為(18,18,18)。(3)按箱邊界值求得平滑數(shù)據(jù)的值:如箱3為(25,41,50),箱中的最大值和最小值被視為箱邊界值,箱中的每一個值被最近的邊界值替換為(25,50,50)。3.4數(shù)據(jù)預(yù)處理(1)分箱法按等寬分箱法(箱寬度為10),可分為如下3個箱。

箱1:6、8、10、15。

箱2:18、24、25。箱3:41、50。分別用3種不同的平滑技術(shù)平滑噪聲數(shù)據(jù)的值。(1)按箱平均值求得平滑數(shù)據(jù)的值:如箱1的平均值為9.75,這樣該箱中的每一個值被替換為(9.75,9.75,9.75,9.75)。(2)按箱中值求得平滑數(shù)據(jù)的值:如箱2的中位數(shù)為24,可以使用按箱中值平滑,這樣該箱中的每一個值被替換為(24,24,24)。(3)按箱邊界值求得平滑數(shù)據(jù)的值:如箱2的邊界值為18和25(箱中的最大值和最小值被視為箱邊界值),這樣該箱中的每一個值被最近的邊界值替換為(18,25,25)。3.4數(shù)據(jù)預(yù)處理(2)移動(滑動)平均法

移動平均法是一種用以濾除噪聲的簡單數(shù)據(jù)處理方法,該方法將觀測數(shù)據(jù)替換為前后若干次觀測數(shù)據(jù)的平均值,以便平滑噪聲。【案例3-4】采用移動平均法處理表3-2所示的觀測數(shù)據(jù),滑動窗口的半徑取2。表3-2某段日期的觀測數(shù)據(jù)日期2022年12月1日2022年12月2日2022年12月3日2022年12月4日2022年12月5日2022年12月6日觀測數(shù)據(jù)181516(用15替換)14(用14.4替換)12153.4數(shù)據(jù)預(yù)處理(2)移動(滑動)平均法使用移動平均法,滑動窗口的半徑取2,則:(1)2022年12月3日的測量數(shù)據(jù)16用(18+15+16+14+12)/5=15替換。(2)2022年12月4日的測量數(shù)據(jù)14用(15+16+14+12+15)/5=14.4替換。3.4數(shù)據(jù)預(yù)處理(3)3σ探測法

3σ探測法的思想來源于切比雪夫不等式,假設(shè)一組數(shù)據(jù)的均值為??標(biāo)準(zhǔn)差為??,一般情況下數(shù)據(jù)分布有以下特點。(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),超出這個范圍的可能性僅占不到0.3%,凡超過這個區(qū)間的噪聲數(shù)據(jù)應(yīng)予以剔除。3σ適用于有較多數(shù)據(jù)的情況。3.4數(shù)據(jù)預(yù)處理(4)k最近領(lǐng)域法

根據(jù)某種距離度量方法來確定噪聲數(shù)據(jù)最近的k個近鄰,然后將這k個值加權(quán)(權(quán)重可取距離的比值),然后根據(jù)自定義的閾值,將距離超過閾值的當(dāng)作噪聲數(shù)據(jù)。3.4數(shù)據(jù)預(yù)處理(5)聚類算法

采用某種聚類算法把相似的數(shù)據(jù)聚成一個“簇”,落在各個簇之外的數(shù)據(jù)可以看成噪聲數(shù)據(jù),如圖3-18所示。圖3-18采用聚類算法去除噪聲數(shù)據(jù)的示意圖3.4數(shù)據(jù)預(yù)處理3.4.2數(shù)據(jù)集成數(shù)據(jù)集成是把不同來源、格式的數(shù)據(jù)有機(jī)地集中起來,通過一致的、精確的表示法,對同一種實體對象的不同數(shù)據(jù)進(jìn)行整合的過程。數(shù)據(jù)采集過程中,數(shù)據(jù)可能來自不同的系統(tǒng),難以確保數(shù)據(jù)的模式、模態(tài)和語言的一致性,在很多應(yīng)用中要將不同來源的數(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ù)集成是將來自多個數(shù)據(jù)集的數(shù)據(jù)以統(tǒng)一的模式進(jìn)行集成匯總,以達(dá)到數(shù)據(jù)共享的目的(見圖3-23),例如將多個來源的數(shù)據(jù)存儲到一個關(guān)系數(shù)據(jù)庫中。圖3-23傳統(tǒng)數(shù)據(jù)集成示意圖3.4數(shù)據(jù)預(yù)處理2.跨域數(shù)據(jù)集成

跨域數(shù)據(jù)集成是將來自不同領(lǐng)域的數(shù)據(jù)進(jìn)行集成匯總(見圖3-24),例如將社交網(wǎng)絡(luò)關(guān)系、電商和金融三個領(lǐng)域的數(shù)據(jù)有機(jī)整合在一起。

數(shù)據(jù)集成解決的主要問題包括實體識別、數(shù)據(jù)冗余問題和數(shù)據(jù)值沖突的檢測與處理等。圖3-24跨域數(shù)據(jù)集成示意圖3.4數(shù)據(jù)預(yù)處理(1)實體識別

來自多個數(shù)據(jù)源的實體有時并不一定是匹配的,表3-5所示為來自不同數(shù)據(jù)源的同一個人的姓名數(shù)據(jù),要解決這樣的問題:WeiWang?=WangWei。

表3-5來自不同數(shù)據(jù)源的同一個人的姓名數(shù)據(jù)姓名歸屬WeiWang新加坡國立大學(xué)WangWei新加坡國立大學(xué)3.4數(shù)據(jù)預(yù)處理(2)數(shù)據(jù)冗余問題

在一個數(shù)據(jù)集合中重復(fù)的數(shù)據(jù)被稱為數(shù)據(jù)冗余,產(chǎn)生冗余的因素有很多,比如每天備份公司的數(shù)據(jù)會產(chǎn)生冗余,在多個系統(tǒng)中存儲相同的信息時,最終也可能得到冗余數(shù)據(jù)。3.4數(shù)據(jù)預(yù)處理(3)數(shù)據(jù)值沖突的檢測與處理由于編碼、數(shù)據(jù)類型、單位等不同,對于同一個實體,不同數(shù)據(jù)源的屬性值可能不同。例如,某實體的重量屬性可能在一個系統(tǒng)中以公制單位存放,而在另一個系統(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ù)歸一化一個數(shù)據(jù)集中的數(shù)據(jù)由于各個屬性的數(shù)據(jù)單位不同,各個屬性的數(shù)據(jù)的值域范圍可能相差很大,在進(jìn)行數(shù)據(jù)分析和挖掘時可能會影響結(jié)果的準(zhǔn)確性,如圖3-21所示,年齡和月薪這兩個屬性的數(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量綱表示,就能夠避免值域或量綱對數(shù)據(jù)的影響,便于對數(shù)據(jù)進(jìn)行分析和挖掘。3.4數(shù)據(jù)預(yù)處理(1)Max-Min歸一化方法Max-Min歸一化也稱為離差歸一化,該方法對原始數(shù)據(jù)進(jìn)行線性變換,變換后的數(shù)據(jù)區(qū)間為[0,1],公式為

這種方法的適應(yīng)性非常廣泛,它對數(shù)據(jù)歸一化的同時還能較好地保持原有數(shù)據(jù)的分布結(jié)構(gòu)?!景咐?-5】Max-Min歸一化實例。

在一次考試中,某學(xué)生的語文成績是90分,英語成績也是90分。單從這次考試分?jǐn)?shù)來評價,似乎該學(xué)生的語文和英語學(xué)得一樣好。但是,語文總分是150分,而英語總分是120分,你還認(rèn)為該學(xué)生的語文和英語成績是一樣的嗎?

由于各科的考題難度不盡相同,假設(shè)班級中語文的最低分是60分,最高分是140分;英語的最低分是80分,最高分是110分。3.4數(shù)據(jù)預(yù)處理(1)Max-Min歸一化方法根據(jù)Max-Min歸一化公式,計算出該學(xué)生的歸一化語文成績:

0.375=(90-60)

/

(140-60)歸一化的英語成績:

0.33

(90-80)

/

(110-80)因此,該學(xué)生的語文成績優(yōu)于英語成績。3.4數(shù)據(jù)預(yù)處理(2)用于稀疏數(shù)據(jù)的MaxAbs

MaxAbs根據(jù)最大的絕對值進(jìn)行標(biāo)準(zhǔn)化,變換后的數(shù)據(jù)區(qū)間為[-1,1]。MaxAbs具有不破壞原有數(shù)據(jù)分布結(jié)構(gòu)的特點,可以用于稀疏數(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ān)系,從而使數(shù)據(jù)具有可比性,以減少規(guī)模、特征、分布差異等對模型的影響。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)化方法是一種中心化方法,會改變原有數(shù)據(jù)的分布結(jié)構(gòu),不適合用于對稀疏數(shù)據(jù)做處理。3.4數(shù)據(jù)預(yù)處理2.數(shù)據(jù)標(biāo)準(zhǔn)化【案例3-6】Z-Score標(biāo)準(zhǔn)化實例。

Z-Score標(biāo)準(zhǔn)化的主要目的就是將不同量級的數(shù)據(jù)轉(zhuǎn)化為同一個量級,統(tǒng)一用計算出的Z-Score值衡量,以保證數(shù)據(jù)之間的可比性。假設(shè)兩個班級考試,所采用的試卷不同:A班級的平均分是80分,標(biāo)準(zhǔn)差是10,劉考了90分;B班的平均分是400分,標(biāo)準(zhǔn)差是100,馬考了600分。那么利用Z-Score公式計算它們的標(biāo)準(zhǔn)分?jǐn)?shù),看看誰更優(yōu)秀。

劉:(90-80)/10=1

馬:(600-400)/100=2

因此馬更優(yōu)秀。3.4數(shù)據(jù)預(yù)處理3.數(shù)據(jù)類型的轉(zhuǎn)換在對數(shù)據(jù)進(jìn)行分析和挖掘時,為了適應(yīng)不同算法或不同應(yīng)用場景的要求,可能需要在定性數(shù)據(jù)和定量數(shù)據(jù)之間進(jìn)行轉(zhuǎn)換,即有時需要把定性數(shù)據(jù)轉(zhuǎn)換為定量數(shù)據(jù),而有時需要把定量數(shù)據(jù)轉(zhuǎn)換為定性數(shù)據(jù)。以下介紹一些常用數(shù)據(jù)類型的轉(zhuǎn)換方法。3.4數(shù)據(jù)預(yù)處理(1)標(biāo)稱數(shù)據(jù)的數(shù)值化編碼最常用的是獨熱編碼(One-HotEncoding)和標(biāo)簽編碼(LabelEncoding)兩種編碼方法。獨熱編碼又稱為一位有效編碼,主要是采用N位狀態(tài)寄存器(有0和1兩個狀態(tài))來對數(shù)據(jù)的N個狀態(tài)進(jìn)行編碼,如表3-3所示,“公司名”屬性的每個值被編碼為3個屬性值(因為該屬性有3個不同的值:豐田汽車、本田汽車和大眾汽車),每個數(shù)據(jù)轉(zhuǎn)換后只有一個屬性為1,其他為0。表3-3獨熱編碼的示例公司名豐田汽車本田汽車大眾汽車豐田汽車100本田汽車010大眾汽車0013.4數(shù)據(jù)預(yù)處理(1)標(biāo)稱數(shù)據(jù)的數(shù)值化編碼標(biāo)簽編碼將標(biāo)稱數(shù)據(jù)轉(zhuǎn)換成數(shù)值型數(shù)據(jù),即對不連續(xù)的數(shù)字或文本進(jìn)行順序編號,對表3-3中的數(shù)據(jù)運(yùn)用標(biāo)簽編碼的結(jié)果如表3-4所示。表3-4標(biāo)簽編碼的示例可以看出,標(biāo)簽編碼方法將原本無序的數(shù)據(jù)變成有序的數(shù)值序列,這是標(biāo)簽編碼的明顯缺陷。公司名公司編碼豐田汽車0本田汽車1大眾汽車23.4數(shù)據(jù)預(yù)處理(2)連續(xù)變量的離散化處理對連續(xù)變量離散化處理是把連續(xù)量轉(zhuǎn)換為離散值,如某門課程的成績可以根據(jù)分?jǐn)?shù)段,將其轉(zhuǎn)換為差、中、良、優(yōu)(或D、C、B、A);又如客戶的年齡數(shù)據(jù),將其轉(zhuǎn)換為青年、中年、老年等,如圖3-22所示。常用的數(shù)據(jù)離散化方法有:等寬法、等頻法和基于聚類的分析方法等。例如,有一組實數(shù)(浮點數(shù))的數(shù)值在0到100之間,采用等寬法將數(shù)據(jù)劃分為10個區(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)對信息記錄進(jìn)行編碼,用一個編碼符號代表一條信息或一串?dāng)?shù)據(jù)。運(yùn)用數(shù)據(jù)編碼方法可以對采集的大數(shù)據(jù)進(jìn)行規(guī)范化管理,提高處理效率和精度。例如,我國的身份證號碼就是一種帶有特定含義的編碼方案,它可以表示某人所在省市區(qū)、出生年月、性別等,因此可以用特定的算法進(jìn)行分類、校核、檢索、統(tǒng)計和分析操作。3.4數(shù)據(jù)預(yù)處理3.4.4數(shù)據(jù)歸約數(shù)據(jù)歸約是指在盡可能保持?jǐn)?shù)據(jù)原貌的前提下,最大限度地精簡數(shù)據(jù)量,得到數(shù)據(jù)的簡化表示。1.特征歸約(降維)特征歸約是指從原始特征中排除不重要或不相關(guān)的特征(特征選擇),或通過重新組合特征來減少特征的數(shù)量(特征投影)。其原理是降低特征向量的維度,同時保持甚至提高原有的分辨能力。3.4數(shù)據(jù)預(yù)處理2.數(shù)量歸約(數(shù)量削減)數(shù)量歸約是指用較簡單的數(shù)據(jù)表示形式替換原數(shù)據(jù),或者采用較小的數(shù)據(jù)單位,或者用數(shù)據(jù)模型代替數(shù)據(jù)以減少數(shù)據(jù)量。常用的方法有直方圖、用簇中心表示實際數(shù)據(jù)、抽樣和參數(shù)回歸法,以及特征值離散化技術(shù)等。特征值離散化技術(shù)是將連續(xù)的特征值離散成少量的區(qū)間,每個區(qū)間被映射為一個離散的符號,該技術(shù)的優(yōu)點是簡化了數(shù)據(jù)的描述,使人們更容易理解數(shù)據(jù)和最終的挖掘結(jié)果。3.4數(shù)據(jù)預(yù)處理3.樣本歸約(數(shù)據(jù)抽樣)樣本的數(shù)量通常很大,質(zhì)量或高或低。樣本歸約就是從數(shù)據(jù)集中選出一個有代表性的樣本的子集。在確定子集大小時,應(yīng)考慮計算成本、存儲要求、估計的準(zhǔn)確性,以及與算法和數(shù)據(jù)的特點有關(guān)的其他因素。3.5使用OpenRefine對數(shù)據(jù)進(jìn)行預(yù)處理OpenRefine是一種開源的交互式數(shù)據(jù)轉(zhuǎn)換工具,可以對結(jié)構(gòu)型的數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗、修正、分類、排序、篩選與整理,它的功能強(qiáng)大,使用比較簡便。OpenRefine軟件的前身是MetaWeb公司于2009年發(fā)布的一個開源軟件,Google公司在2010年收購了MetaWeb,把項目的名稱從FreebaseGridworks改成了GoogleRefine。2012年,Google公司放棄了對Refine的支持,讓它重新成為開源軟件,名字改成了OpenRefine。前的OpenRefine有Windows、Mac和Linux版本,以下用OpenRefine3.6.2forWindows版和示例數(shù)據(jù)集movie-metadata為例介紹該軟件的基本使用方法。3.5使用OpenRefine對數(shù)據(jù)進(jìn)行預(yù)處理1.下載安裝OpenRefine軟件訪問OpenRefine的官網(wǎng)(/),下載所需的版本,如圖3-24所示。運(yùn)行OpenRefine需要Java運(yùn)行環(huán)境的支持,因此首先需要安裝OpenRefine要求的JDK(JavaDevelopmentKit)版本(注:OpenRefine3.7.4要求JDK版本大于11)。將下載的OpenRefine壓縮包解壓到某個文件夾中,然后運(yùn)行openrefine.exe程序,如果當(dāng)前計算機(jī)環(huán)境中沒有配置Java運(yùn)行環(huán)境,會提示下載并安裝JDK。圖3-24

下載OpenRefine3.5使用OpenRefine對數(shù)據(jù)進(jìn)行預(yù)處理2.建立OpenRefine項目OpenRefine啟動后是以本地Web服務(wù)(默認(rèn)端口號為3333)運(yùn)行的,可以用瀏覽器訪問:3333打開初始界面,如圖3-25所示。圖3-25OpenRefine初始頁面3.5使用OpenRefine對數(shù)據(jù)進(jìn)行預(yù)處理2.建立OpenRefine項目在OpenRefine初始頁面中單擊“選擇文件”按鈕打開本地數(shù)據(jù)文件,接著單擊“下一步>>”按鈕進(jìn)入文件格式選項設(shè)置對話框。注意:如果是CSV或Excel文件,需要在彈出的對話框下方的選項中勾選“將單元格中的文本解析為數(shù)字”選項,如圖3-27所示,否則OpenRefine會將實數(shù)列作為文本處理。圖3-27CSV和Excel文件需要勾選的格式選項

輸入項目名稱,單擊“新建項目”按鈕建立OpenRefine項目。3.5使用OpenRefine對數(shù)據(jù)進(jìn)行預(yù)處理3.OpenRefine的數(shù)據(jù)預(yù)處理功能選擇想要處理的列(屬性/特

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論