
想要做好數(shù)據(jù)科學(xué),先做好這7步
《哈佛商業(yè)評論》曾宣稱“數(shù)據(jù)科學(xué)家”是二十一世紀(jì)最性感的職業(yè)。所謂性感,既代表著難以名狀的誘惑,又說明了大家對它又不甚了解。
如何做好數(shù)據(jù)科學(xué)呢?
微軟高級數(shù)據(jù)科學(xué)家Brandon Rohrer概括了做數(shù)據(jù)科學(xué)的七大步驟,手把手教你做數(shù)據(jù)科學(xué)。
數(shù)據(jù)科學(xué)的原材料是數(shù)字和名稱的集合,測量、價(jià)格、日期、時間、產(chǎn)品、標(biāo)題、行動等,數(shù)據(jù)科學(xué)無所不包。你也可以使用圖像、文字、音頻、視頻等復(fù)雜數(shù)據(jù),只要你能將它們簡化為數(shù)字和名稱。
獲取數(shù)據(jù)的機(jī)制可能非常復(fù)雜,事實(shí)上,數(shù)據(jù)工程師就像忍者一樣。不過,本篇文章將主要聚焦于數(shù)據(jù)科學(xué)。
數(shù)據(jù)科學(xué)是通過數(shù)字和名稱組成的數(shù)據(jù)集合來回答問題的過程。你問的問題越精確,越容易找到令你滿意的答案。在選擇問題的時候,想象你的面前是一個可以用數(shù)字或字段來告訴你宇宙中一切奧秘的圣人,他的回答總是模糊不清、令人困惑,而你希望問一個精準(zhǔn)而無懈可擊的問題,讓他忍不住告訴你問題的答案。
模糊的問題如“我的數(shù)據(jù)能告訴我什么?”、“我應(yīng)該做什么?”我怎樣提高利潤?”會帶來無用的回答,而清晰的問題如“第三季度我能在蒙特利爾賣出多少產(chǎn)品?”、“我車隊(duì)中的哪一輛車會先壞?”會帶來清晰的答案。
在有了問題后,要看你的數(shù)據(jù)是否能夠回答這些問題。如果你的問題是“我的股票下周的價(jià)格是多少?”,那就要確保你的數(shù)據(jù)中有股票的歷史價(jià)格;如果你的問題是“88型航空發(fā)動機(jī)能夠工作多少小時?”,那就要確保你有多臺88型發(fā)動機(jī)故障次數(shù)的數(shù)據(jù)。這些就是你的目標(biāo)數(shù)據(jù)(target),即你希望在未來預(yù)測或布置的量或種類。如果你沒有任何目標(biāo)數(shù)據(jù),需要回到步驟1,獲取更多的數(shù)據(jù),因?yàn)闆]有目標(biāo)數(shù)據(jù)則無法回答問題。
大部分機(jī)器學(xué)習(xí)算法假設(shè)數(shù)據(jù)以表格的形式呈現(xiàn),每行是一個事件、項(xiàng)目或?qū)嵗?,每列是行?shù)據(jù)的一個特征或?qū)傩?。在一個描述美國足球比賽的數(shù)據(jù)集中,每行可能代表一場比賽,列可能包括主場隊(duì)、客場隊(duì)、主場得分、客場得分、日期、開始時間、出場情況等等。表格中的列可以非常細(xì)致,有多少都可以。
選擇所需數(shù)據(jù)行
將數(shù)據(jù)集分割成行有許多方法,但只有一種方法能幫助你回答問題:每行有且只能有一個目標(biāo)實(shí)例。以零售店數(shù)據(jù)為例,一行可以是一次交易、一天、一個零售店、一個顧客等等。如果你的問題是“剛進(jìn)過店的顧客會回訪嗎?”,那應(yīng)當(dāng)以一個顧客作為一行,你的目標(biāo)“顧客是否回訪”將呈現(xiàn)在每行,而如果以一個零售店或者一天作為每行的數(shù)據(jù)則不能回答目標(biāo)問題。
有時你必須通過累積數(shù)據(jù)來獲得需要的數(shù)據(jù)。如果你的問題是“我每天賣出多少拿鐵咖啡?”,那你需要的數(shù)據(jù)是以天數(shù)作為行、賣出的拿鐵數(shù)作為列,但是你手頭的數(shù)據(jù)可能是帶有日期和時間的交易記錄。為了將這些數(shù)據(jù)變?yōu)槊刻斓臄?shù)據(jù),需要對目前的數(shù)據(jù)進(jìn)行累積,將每一天賣出的拿鐵數(shù)進(jìn)行合計(jì)。在這個過程中,有些信息會丟失,例如每杯拿鐵賣出的時間,但沒有關(guān)系,因?yàn)樗粫椭慊卮饐栴}。
下一步是認(rèn)真地排查數(shù)據(jù)。檢查數(shù)據(jù)有兩個目的:第一,發(fā)現(xiàn)錯誤數(shù)據(jù),修復(fù)或去除;第二,充分了解每一行每一列。這一步不能跳過,否則無法讓數(shù)據(jù)發(fā)揮最大功效。只有你對你的數(shù)據(jù)表示出愛,它才會愛你哦~
以一列數(shù)據(jù)為例,它的標(biāo)簽是什么?數(shù)值與標(biāo)簽匹配嗎?標(biāo)簽對你來說有意義嗎?這一列數(shù)據(jù)有記錄嗎?是怎樣測量的?誰來測量的?如果你幸運(yùn)地認(rèn)識錄入數(shù)據(jù)的人,不妨約他們出來吃甜甜圈,問問他們是怎樣測量的,問問他們錄入中有沒有有趣的故事,這一頓點(diǎn)心會給你帶來回報(bào)的。
現(xiàn)在,讓我們把用這一列畫一個柱狀圖。整體分布符合你的預(yù)期嗎?是否有異常數(shù)據(jù)點(diǎn)?異常點(diǎn)是否有意義?例如,如果這一列代表的是農(nóng)業(yè)分布的經(jīng)度,有沒有一個數(shù)據(jù)點(diǎn)落在太平洋中?如果這一列是關(guān)于考試分?jǐn)?shù),是否有人的分?jǐn)?shù)是1%或者10000%?用你所知的一切對數(shù)據(jù)做一個監(jiān)測,如果有的數(shù)據(jù)看起來有些奇怪,找出為什么。
在排查數(shù)據(jù)中,你可能發(fā)現(xiàn)一些標(biāo)簽和記錄的錯誤,記錄并分享你的發(fā)現(xiàn)。
你也可能發(fā)現(xiàn)一些值是錯誤的。一些值可能超過了正常范圍,比如一個人竟然72米高,或者有些值是不可能出現(xiàn)的,例如一個寫成“中心路7777777777號”的地址。這種情況下,你有三個選擇:如果這個值很容易更改,那就改為正確的值,例如把高72米改成72英寸;如果錯誤的值不明顯,你可以刪掉這個值、注明缺失;如果這個值是關(guān)鍵信息,你可以刪除整行或者整列。這樣可以讓你訓(xùn)練的模型遠(yuǎn)離錯誤數(shù)據(jù)。錯誤數(shù)據(jù)可比缺失數(shù)據(jù)危害更大。
你可能很想移除看起來不理想的數(shù)據(jù),例如異常數(shù)據(jù)或者不支持你的理論的數(shù)據(jù)——但千萬別這樣做,否則不僅違背學(xué)術(shù)倫理,更可怕的是可能會導(dǎo)致錯誤結(jié)果。
幾乎每一個數(shù)據(jù)集都存在缺失值,可能是由于數(shù)值錯誤被刪除了,也可能是你在實(shí)驗(yàn)途中去測量了一個新的變量,還可能是這些數(shù)據(jù)來自不同的數(shù)據(jù)源。但不管什么情況,大部分機(jī)器學(xué)習(xí)算法要么要求數(shù)據(jù)無缺失,要么會用默認(rèn)值填充。而你可以比機(jī)器做得更好,因?yàn)槟懔私饽愕臄?shù)據(jù)。
替換缺失值有很多方法,處理缺失值的方法 一文提供了一個辦法,而最佳的處理辦法取決于每一列的意義和數(shù)值缺失帶來的影響,每一個數(shù)據(jù)集的情況可能都有所不同。
替換完所有的缺失值后,你的數(shù)據(jù)們現(xiàn)在已經(jīng)“連上”了,每一個數(shù)據(jù)點(diǎn)對每一個特征都有意義。現(xiàn)在,這些數(shù)據(jù)是干凈的、可以拿來用了。
有時候你可能發(fā)現(xiàn),在數(shù)據(jù)清理后,幾乎沒有剩余的數(shù)據(jù)了……這是件好事情,因?yàn)槟銊倓偙苊饬俗呱嫌缅e誤的數(shù)據(jù)建立模型、得到錯誤的結(jié)論、被客戶嘲笑、激怒老板的不歸路……如果是這樣,那就回到第一步,從頭獲取更多的數(shù)據(jù)吧!
在進(jìn)入機(jī)器學(xué)習(xí)之前還有一步:特征工程(feature engineering),即對現(xiàn)有特征數(shù)據(jù)進(jìn)行創(chuàng)意組合,以更好地預(yù)測你的目標(biāo)。舉個例子,如果我們把火車到達(dá)和出發(fā)的時間相減,可以得到火車的運(yùn)輸時間,這個特征對完成目標(biāo)即預(yù)測火車的最大速度更加有用。
嚴(yán)格來講,特征工程并不會增加任何數(shù)據(jù)信息,只是使用各種方法對原有數(shù)據(jù)進(jìn)行組合。然而,僅僅對兩欄的數(shù)據(jù)進(jìn)行組合就有無限種方式,而大部分組合方式對解決目標(biāo)并沒有什么幫助。通常情況下,只有在對數(shù)據(jù)有充分了解的情況下才可能選出一個好的方式。你需要充分調(diào)用你所有的相關(guān)知識,讓數(shù)據(jù)為你所用。
特征工程是數(shù)據(jù)科學(xué)中最微妙的一步,沒有一成不變的辦法,而是要不斷試錯、依靠直覺和經(jīng)驗(yàn)。深度學(xué)習(xí)試圖讓這個過程自動完成,但大多以失敗告終,也許這就是人類智能的特別之處吧。
不過,即使你還不是特征工程的黑帶高手,也有一個可以使用的小技巧。你可以根據(jù)你的目標(biāo),用不同的顏色標(biāo)識變量,這可以幫你發(fā)現(xiàn)變量之間的關(guān)系。這可能工作量較大,不過你一定要花些時間過一遍。每當(dāng)你發(fā)現(xiàn)有兩個變量與目標(biāo)相關(guān),那可能就是一個特征工程,意味著這兩個變量結(jié)合在一起可能比孤立來看更有幫助。
有時候,你會發(fā)現(xiàn)你的數(shù)據(jù)中沒有任何變量或變量的組合能夠幫你預(yù)測目標(biāo),這可能意味著你需要測量一些其他變量。那么,重回第一步,獲取更多的數(shù)據(jù)吧!
終于到了數(shù)據(jù)科學(xué)家最愛的部分了——機(jī)器學(xué)習(xí)!簡單地說,你需要確定你的問題屬于哪種算法,然后選擇一種或多種算法,使用傳統(tǒng)的機(jī)器學(xué)習(xí)技巧來分割數(shù)據(jù)進(jìn)行訓(xùn)練、調(diào)整、測試數(shù)據(jù)集、根據(jù)選擇的模型優(yōu)化參數(shù)。
如果你的模型無法很好地解決問題,或者你不想用機(jī)器學(xué)習(xí),還有兩種非傳統(tǒng)的方法:
第一種,簡單地看一下你的數(shù)據(jù)圖像,很多情況下,只要對數(shù)據(jù)進(jìn)行可視化就能找到答案。例如,如果你的問題是“波士頓明年7月4號的最高氣溫是多少?”,那么只要看一下過去100年間波士頓每年7月4日最高氣溫的直方圖就基本可以解決問題了。
第二種方法技術(shù)含量更高一些。如果你是因?yàn)閿?shù)據(jù)集太小而得不到結(jié)果,你可以考慮進(jìn)行優(yōu)化。機(jī)器學(xué)習(xí)基于弱先驗(yàn)假設(shè),也就是說,機(jī)器學(xué)習(xí)對數(shù)據(jù)結(jié)構(gòu)做一些較弱的假設(shè)。這種方法的優(yōu)點(diǎn)在于使用算法之前不需要對數(shù)據(jù)有太多了解,它能夠訓(xùn)練出一些大致的模型,而缺點(diǎn)在于需要大量數(shù)據(jù)才能獲得一個可信的答案。一個替代方法是根據(jù)你對數(shù)據(jù)的了解,對數(shù)據(jù)做更多的假設(shè)。例如,如果你想預(yù)測一個物體的飛行軌跡,你可以收集大量物體自由落體的數(shù)據(jù),用它們訓(xùn)練機(jī)器學(xué)習(xí)算法。你其實(shí)還可以用你了解的牛頓力學(xué)知識來制作一個更豐富的模型。這樣,只需要一個包括位置和速度的數(shù)據(jù)點(diǎn)就可以預(yù)計(jì)這個物體在未來任何一點(diǎn)的位置和速度。這種方法的風(fēng)險(xiǎn)在于你的假設(shè)可能不完全正確,但優(yōu)點(diǎn)是你不需要大量的數(shù)據(jù)就能完成任務(wù)。
如果這些辦法對你都不適用,也許意味著你需要收集更多的數(shù)據(jù),或者重新思考一下你測量的數(shù)據(jù)?;氐降谝徊剑@取更多數(shù)據(jù)吧~
不管你如何優(yōu)雅地用數(shù)據(jù)回答提出的問題,你的工作直到有用戶使用才算完成。將你的結(jié)果以某種形式呈現(xiàn)給用戶,用戶可以用它做決策、完成任務(wù)或進(jìn)行學(xué)習(xí)。展示的方式有很多:你可以將結(jié)果放在web頁面上,把你發(fā)現(xiàn)的最有用的信息呈現(xiàn)在PDF上,可以在GitHub上分享你的代碼,可以把結(jié)論做成視頻分享給你的商業(yè)客戶,可以制作美觀的數(shù)據(jù)可視化成果發(fā)在Twitter上,等等。不管采用哪種方式,要讓其他人使用你的成果。
森林中的一棵樹倒下,即使附近沒有人聽見,仍然會有響聲,但如果你建造了一個精良的模型卻沒人用,你肯定不會得到贊譽(yù)。
那么就從頭開始吧,回到第一步,獲取更多的數(shù)據(jù)!
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實(shí)戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價(jià)值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實(shí)戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時,“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗(yàn)與 t 檢驗(yàn):差異、適用場景與實(shí)踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)領(lǐng)域,假設(shè)檢驗(yàn)是驗(yàn)證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計(jì)劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計(jì)劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實(shí)踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價(jià)值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點(diǎn)數(shù)據(jù)的科學(xué)計(jì)數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點(diǎn)數(shù)據(jù)時的科學(xué)計(jì)數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價(jià)值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運(yùn)營問題、提升執(zhí)行效率的核心手段,其價(jià)值 ...
2025-09-12用 SQL 驗(yàn)證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實(shí)戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計(jì)” 與 “用戶體驗(yàn) ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價(jià)值 在數(shù)據(jù)驅(qū)動決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實(shí)踐到業(yè)務(wù)價(jià)值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計(jì)模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價(jià)值導(dǎo)向 統(tǒng)計(jì)模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10