學(xué)會數(shù)據(jù)科學(xué)要多久?這張能力晉級表給你答案
本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)。
很多對數(shù)據(jù)科學(xué)領(lǐng)域感興趣的人,最關(guān)心的問題之一就是:獲得數(shù)據(jù)科學(xué)方面的能力需要多長時間?
本文將討論典型的數(shù)據(jù)科學(xué)能力進(jìn)程表。獲得數(shù)據(jù)科學(xué)能力所需的時間取決于能力的水平,共分為三個層次,最后將討論基于興趣水平獲得數(shù)據(jù)科學(xué)能力所需的時間。注意本文提供的觀點(diǎn)是基于自己的數(shù)據(jù)科學(xué)經(jīng)驗(yàn)提出的個人觀點(diǎn)。
數(shù)據(jù)科學(xué)的三個層次
在討論數(shù)據(jù)科學(xué)能力進(jìn)程表之前,首先介紹數(shù)據(jù)科學(xué)的三個層次。本節(jié)將討論筆者認(rèn)為的數(shù)據(jù)科學(xué)能力的三個層次:1級(基礎(chǔ))、2級(中級)和3級(高級)。能力從1級增加到3級。這里將使用Python作為默認(rèn)語言,即使其他編程語言(例如R,SAS和MATLAB)也可用于數(shù)據(jù)科學(xué)。
基礎(chǔ)水平
在第一級,你應(yīng)該學(xué)會使用通常以逗號分隔符(CSV)文件格式表示的數(shù)據(jù)集,應(yīng)該具備掌握數(shù)據(jù)基礎(chǔ)知識的能力,如數(shù)據(jù)可視化和線性回歸。
1. 數(shù)據(jù)基礎(chǔ)知識
能夠操作、清理、結(jié)構(gòu)化、縮放和設(shè)計數(shù)據(jù)。熟練使用pandas和NumPy庫,具備以下能力:
- 知道如何導(dǎo)入和導(dǎo)出以CSV文件格式存儲的數(shù)據(jù)
- 能夠清理、整理和組織數(shù)據(jù)以進(jìn)行進(jìn)一步分析或建模
- 能夠處理數(shù)據(jù)集中的缺失值
- 了解并能夠應(yīng)用數(shù)據(jù)插值技術(shù),例如均值或中位數(shù)插值
- 能夠處理類別數(shù)據(jù)
- 知道如何將數(shù)據(jù)集劃分為訓(xùn)練和測試集
- 能夠使用諸如歸一化和標(biāo)準(zhǔn)化之類的縮放技術(shù)來縮放數(shù)據(jù)
- 能夠通過降維技術(shù)(例如主成分分析(PC))來壓縮數(shù)據(jù)
2. 數(shù)據(jù)可視化
能夠理解好的數(shù)據(jù)可視化的基本組成部分。能夠使用數(shù)據(jù)可視化工具,包括Python的matplotlib和seaborn包和R的ggplot2包。應(yīng)該了解好的數(shù)據(jù)可視化的基本組成部分:
- 數(shù)據(jù)組件:決定如何可視化數(shù)據(jù)的重要的第一步是了解數(shù)據(jù)的類型,例如分類數(shù)據(jù)、離散數(shù)據(jù)、連續(xù)數(shù)據(jù)、時間序列數(shù)據(jù)等。
- 幾何組件:決定哪種可視化適合你的數(shù)據(jù),例如散點(diǎn)圖、線圖、條形圖、直方圖、Q-Q圖、平滑密度圖、箱形圖、多變量圖以及熱圖等。
- 映射組件:需要確定將什么變量用作x變量,將什么變量用作y變量。這一點(diǎn)很重要,尤其是當(dāng)數(shù)據(jù)集是具有多個特征的多維數(shù)據(jù)集時。
- 比例組件:決定使用哪種比例,例如線性比例、對數(shù)比例等。
- 標(biāo)簽組件:包括軸標(biāo)簽、標(biāo)題、圖例、要使用的字體大小等內(nèi)容。
- 道德構(gòu)成要素:確保可視化過程是真實(shí)的。在清理、匯總、操作和生成數(shù)據(jù)可視化效果時注意操作,并確保不會使用可視化效果誤導(dǎo)或操縱受眾。
3. 監(jiān)督學(xué)習(xí)(預(yù)測連續(xù)目標(biāo)變量)
熟悉線性回歸和其他高級回歸方法。能夠使用scikit-learn和caret等數(shù)據(jù)包進(jìn)行線性回歸模型構(gòu)建。具有以下能力:
- 能夠使用NumPy或Pylab執(zhí)行簡單的回歸分析
- 能夠使用scikit-learn執(zhí)行多元回歸分析
- 了解正則化的回歸方法,例如Lasso回歸、嶺回歸和彈性網(wǎng)絡(luò)
- 了解其他非參數(shù)回歸方法,例如K近鄰回歸(KNR)和支持向量回歸(SVR)
- 了解評估回歸模型的各種指標(biāo),例如MSE(均方誤差)、MAE(平均絕對誤差)和R2分?jǐn)?shù)
- 能夠比較不同的回歸模型
中級水平
除了基礎(chǔ)級別的技能和能力外,還應(yīng)具備以下能力:
1. 監(jiān)督學(xué)習(xí)(預(yù)測連續(xù)目標(biāo)變量)
熟悉二值分類算法,例如:
- 感知機(jī)分類器
- Logistic回歸分類器
- 支持向量機(jī)(SVM)
- 能夠使用核SVM解決非線性分類問題
- 決策樹分類器
- K最近分類器
- 樸素貝葉斯分類器
- 了解評估分類算法質(zhì)量的幾個指標(biāo),例如準(zhǔn)確度、精確度、靈敏度,特異度、召回率、f-l得分、混淆矩陣以及ROC曲線。
- 能夠使用scikit-learn建立模型
2. 模型評估和超參數(shù)調(diào)整
- 能夠?qū)⒐艿?pipeline)中的變換操作和評估操作結(jié)合
- 能夠使用k折交叉驗(yàn)證來評估模型性能
- 知道如何使用學(xué)習(xí)和驗(yàn)證曲線來調(diào)試分類算法
- 能夠通過學(xué)習(xí)曲線診斷偏差和方差問題
- 能夠解決驗(yàn)證曲線過擬合和欠擬合的問題
- 知道如何通過網(wǎng)格搜索微調(diào)機(jī)器學(xué)習(xí)模型
- 了解如何通過網(wǎng)格搜索調(diào)整超參數(shù)
- 能夠讀懂和解釋混淆矩陣
- 能夠繪制和解釋工作特性(ROC)曲線
3. 結(jié)合不同模型進(jìn)行集成學(xué)習(xí)
- 能夠?qū)Σ煌姆诸惼魇褂眉煞椒?/li>
- 能夠結(jié)合不同的算法進(jìn)行分類
- 知道如何評估和調(diào)整集成分類器
高級水平
能夠處理高級數(shù)據(jù)集,例如文本、圖像、語音和視頻。除基本和中級技能外,還應(yīng)具備以下能力:
- 聚類算法(無監(jiān)督學(xué)習(xí))
- K均值
- 深度學(xué)習(xí)
- 神經(jīng)網(wǎng)絡(luò)
- Keras
- TensorFlow
- Theano
- 云系統(tǒng)(AWS,Azure)
數(shù)據(jù)科學(xué)能力進(jìn)程表
基礎(chǔ)水平需要6到12個月,中級水平需要7到18個,高級水平需要18到48個月。
數(shù)據(jù)科學(xué)能力的大致進(jìn)程表| 圖源:Benjamin O. Tayo
需要注意,這些只是近似值。獲得一定水平的能力所需的時間長短取決于學(xué)科背景以及愿意在數(shù)據(jù)科學(xué)研究中投入多少時間。通常,和不具有數(shù)據(jù)科學(xué)相關(guān)背景的人相比,具有諸如物理學(xué)、數(shù)學(xué)、科學(xué),工程、會計或計算機(jī)科學(xué)等分析學(xué)科背景的人需要的時間更少。
基礎(chǔ)水平可以在6到12個月內(nèi)達(dá)到,中級水平可以在7到18個月內(nèi)達(dá)到,高級水平可以在18到48個月內(nèi)達(dá)到。這完全取決于投入的精力和每個人的背景。總而言之,如果熱愛,那就去試試吧!