很多初學(xué)的朋友對大數(shù)據(jù)挖掘第一直觀的印象,都只是業(yè)務(wù)模型,以及組成模型背后的各種算法原理。往往忽視了整個(gè)業(yè)務(wù)場景建模過程中,看似最普通,卻又最精髓的特征數(shù)據(jù)清洗。可謂是平平無奇,卻又一掌定乾坤,稍有閃失,足以功虧一簣。行業(yè)的差異性導(dǎo)致業(yè)務(wù)不同,影響到數(shù)據(jù)源的差異性、隨著信息化共享與服務(wù)的這個(gè)“神奇”互聯(lián)網(wǎng)行業(yè)快速發(fā)展,互聯(lián)網(wǎng)業(yè)務(wù)逐漸的重視數(shù)據(jù),所以互聯(lián)網(wǎng)的從業(yè)者在看數(shù)據(jù)、使用數(shù)據(jù)的方式每一年也不同、大數(shù)據(jù)的各種技術(shù)也在快速更新中,各方面因素導(dǎo)致了互聯(lián)網(wǎng)數(shù)據(jù)平臺的建設(shè)、服務(wù)用戶特點(diǎn)、數(shù)據(jù)模型與非互聯(lián)網(wǎng)數(shù)據(jù)平臺有較為顯著差異。人類在努力將數(shù)據(jù)轉(zhuǎn)化為信息和知識的同時(shí),也面臨著海量數(shù)據(jù)中夾雜著“臟”數(shù)據(jù)的挑戰(zhàn)。因此,對原始數(shù)據(jù)進(jìn)行有效清洗并將其轉(zhuǎn)化為易理解和易利用的目標(biāo)數(shù)據(jù),己成為人類進(jìn)行大數(shù)據(jù)分析和應(yīng)用過程中的關(guān)鍵一環(huán)。數(shù)據(jù)清洗(Data Cleaning)用來對數(shù)據(jù)進(jìn)行審查和校驗(yàn),進(jìn)而刪除重復(fù)信息,糾正存在的錯(cuò)誤,并保持?jǐn)?shù)據(jù)的一致性、精確性、完整性和有效性。由此可見,數(shù)據(jù)清洗在整個(gè)大數(shù)據(jù)分析過程中扮演著重要的角色。
數(shù)據(jù)科學(xué)過程
現(xiàn)代社會的各個(gè)角落無不充斥著種類繁多、數(shù)量龐大的數(shù)據(jù),這些數(shù)據(jù)不僅包括傳統(tǒng)的結(jié)結(jié)構(gòu)型數(shù)據(jù),還包括如網(wǎng)頁、文本、圖像、視頻、語音之類的非結(jié)構(gòu)型數(shù)據(jù)。大數(shù)據(jù)的興興起和研究熱潮將數(shù)據(jù)科學(xué)推到風(fēng)口浪尖。
什么是數(shù)據(jù)科學(xué)?它和已有的信息科學(xué)、統(tǒng)計(jì)學(xué)、機(jī)器學(xué)習(xí)等學(xué)科有什么不同?作為一門新興的學(xué)科,數(shù)據(jù)科學(xué)依賴兩個(gè)因素:一是數(shù)據(jù)的廣泛性和多樣性;二是數(shù)據(jù)研究的共性。現(xiàn)代社會的各行各業(yè)都充滿了數(shù)據(jù),這些數(shù)據(jù)的類型多種多樣,不僅包括傳統(tǒng)的結(jié)構(gòu)化數(shù)據(jù),也包括網(wǎng)頁、文本、圖像、視頻、語音等非結(jié)構(gòu)化數(shù)據(jù)。數(shù)據(jù)分析本質(zhì)上都是在解反問題,而且通常是隨機(jī)模型的反問題,因此對它們的研究有很多共性。例如,自然語言處理和生物大分子模型都用到隱馬爾科夫過程和動態(tài)規(guī)劃方法,其最根本的原因是它們處理的都是一維隨機(jī)信號;再如,圖像處理和統(tǒng)計(jì)學(xué)習(xí)中都用到的正則化方法,也是處理反問題的數(shù)學(xué)模型中最常用的一種。
數(shù)據(jù)科學(xué)主要包括兩個(gè)方面:用數(shù)據(jù)的方法研究科學(xué)和用科學(xué)的方法研究數(shù)據(jù)。前者包括生物信息學(xué)、天體信息學(xué)、數(shù)字地球等領(lǐng)域;后者包括統(tǒng)計(jì)學(xué)、機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘、數(shù)據(jù)庫等領(lǐng)域。這些學(xué)科都是數(shù)據(jù)科學(xué)的重要組成部分,只有把它們有機(jī)地整合在一起,才能形成整個(gè)數(shù)據(jù)科學(xué)的全貌。
從上述中可以看到,數(shù)據(jù)科學(xué)的過程對于實(shí)現(xiàn)數(shù)據(jù)科學(xué)至關(guān)重要,一個(gè)典型的數(shù)據(jù)科學(xué)項(xiàng)目可分為如下幾個(gè)階段:
(1)定義業(yè)務(wù)問題
阿爾伯特·愛因斯坦曾經(jīng)引用過“凡事盡可能簡潔,但不能太過簡單”,而這句話也正是定義業(yè)務(wù)問題的核心。問題的表述需要事情的發(fā)展歷程和所在場景,需要建立明確的成功標(biāo)準(zhǔn)。幾乎在所有的企業(yè)中,業(yè)務(wù)團(tuán)隊(duì)總是繁忙無比,但是這并不意味著他們沒有需要解決的挑戰(zhàn)。頭腦風(fēng)暴會議、研討會和訪談可以幫助揭開任何問題的面紗并提出可能的解決方案或者假設(shè)。而對于如何定義業(yè)務(wù)問題?可參考下例:
Ø一家電信公司由于其客戶群減少而導(dǎo)致其收入同比下降。面對這種情況,業(yè)務(wù)問題可能被定義為:
該公司需要通過瞄準(zhǔn)新的細(xì)分市場和減少客戶流失來擴(kuò)大客戶群。
(2)分解為機(jī)器學(xué)習(xí)任務(wù)
業(yè)務(wù)問題一旦定義好之后,就應(yīng)該分解為機(jī)器學(xué)習(xí)任務(wù)。例如上述的示例,如果該公司需要通過瞄準(zhǔn)新的細(xì)分市場和減少客戶流失來擴(kuò)大客戶群。該如何分解該業(yè)務(wù)問題為機(jī)器學(xué)習(xí)任務(wù)呢?下面是一種分解的示例:
ü將顧客的流失減少x%。
ü為有針對性的營銷確定新的客戶群。
(3)數(shù)據(jù)準(zhǔn)備
一旦確定了業(yè)務(wù)問題并將其分解為機(jī)器學(xué)習(xí)問題,就需要開始深入研究數(shù)據(jù)了。對于數(shù)據(jù)的理解應(yīng)該明確的針對當(dāng)前問題,因?yàn)楫?dāng)前問題能夠幫助制定合適的數(shù)據(jù)分析策略,并且要注意的是數(shù)據(jù)的來源、數(shù)據(jù)的質(zhì)量以及數(shù)據(jù)的偏差等。
(4)探索性數(shù)據(jù)分析
“當(dāng)宇航員進(jìn)入宇宙時(shí),他們是不知道宇宙中有什么的。”同樣的,數(shù)據(jù)科學(xué)家在開始對數(shù)據(jù)進(jìn)行分析時(shí),對于數(shù)據(jù)中隱含的特征等也都是未知數(shù),他們需要穿過數(shù)據(jù)的表象去探求和開發(fā)新的數(shù)據(jù)涵義。探索性數(shù)據(jù)分析(Exploratory data analysis,EDA)是一項(xiàng)令人興奮的任務(wù),可以更好地理解數(shù)據(jù),調(diào)查數(shù)據(jù)中的細(xì)微差別,發(fā)現(xiàn)隱藏模式,開發(fā)新功能并制定建模策略。
(5)模型化
探索性數(shù)據(jù)分析之后,將進(jìn)入建模階段。這個(gè)階段中,會根據(jù)特定的機(jī)器學(xué)習(xí)問題,選擇不同的算法,而機(jī)器學(xué)習(xí)算法有很多,耳熟能詳?shù)挠谢貧w、決策樹、隨機(jī)森林等等。
(6)部署與評估
最后,部署開發(fā)的模型,并且建立持續(xù)的檢測機(jī)制,觀察他們在現(xiàn)實(shí)世界中的變現(xiàn)并據(jù)此進(jìn)行校準(zhǔn)和優(yōu)化。
在數(shù)據(jù)分析、挖掘、機(jī)器學(xué)習(xí)或是可視化實(shí)現(xiàn)之前,做好相關(guān)的數(shù)據(jù)清洗工作意義重大。不過,請牢記,這是一個(gè)迭代的過程,因?yàn)樵陧?xiàng)目中我們可能需要不止一次地執(zhí)行這些清洗操作。此外,我們所采用的挖掘或分析方法會影響清洗方式的選取。我們可以認(rèn)為清洗工作包含了分析方法所能決定的各種任務(wù),這有可能是交換文件的格式、字符編碼的修改、數(shù)據(jù)提取的細(xì)節(jié)等。
數(shù)據(jù)清洗與數(shù)據(jù)收集和存儲的關(guān)系也十分密切。這意味著你得收集原始數(shù)據(jù),對它們執(zhí)行存儲和清洗操作,之后再把清洗過的數(shù)據(jù)保存下來,接下來收集更多的數(shù)據(jù),清洗新的數(shù)據(jù)并把清洗結(jié)果與前面處理完的結(jié)果數(shù)據(jù)結(jié)合起來,重新進(jìn)行清洗、保存等操作,反反復(fù)復(fù)。正因?yàn)檫@個(gè)過程非常復(fù)雜,所以我們要么選擇牢牢記住曾經(jīng)做過的處理,并記錄下那些可以根據(jù)需要反復(fù)執(zhí)行的步驟,要么把工作的全部狀況告知其他相關(guān)人員。