數(shù)據(jù)科學(xué)家必備技能Top10
數(shù)據(jù)科學(xué)領(lǐng)域的發(fā)展日新月異。只有掌握了數(shù)據(jù)科學(xué)的基礎(chǔ)知識(shí),才能夠繼續(xù)學(xué)習(xí)那些更加高深的概念,比如深度學(xué)習(xí)和人工智能。
而數(shù)據(jù)科學(xué)所涵蓋的內(nèi)容極為寬泛,其分支領(lǐng)域包括數(shù)據(jù)準(zhǔn)備與探索、數(shù)據(jù)表示與轉(zhuǎn)換、數(shù)據(jù)可視化與表達(dá)、預(yù)測(cè)分析以及機(jī)器學(xué)習(xí)等。聽到這里,初學(xué)者自然會(huì)產(chǎn)生疑惑:哪些技能才是數(shù)據(jù)科學(xué)家的必備技能呢?
為此,本文將探討十項(xiàng)數(shù)據(jù)科學(xué)家必須學(xué)習(xí)的重要技能。
這些技能大體上可分為兩類,即專業(yè)技能與軟技能。其中,專業(yè)技能包括數(shù)學(xué)與統(tǒng)計(jì)學(xué)、編碼、數(shù)據(jù)整合與預(yù)處理、數(shù)據(jù)可視化、機(jī)器學(xué)習(xí)、項(xiàng)目實(shí)踐技能等;軟技能則包含人際交流、終身學(xué)習(xí)、團(tuán)隊(duì)合作以及倫理道德。
義無反顧地開始吧~
1. 數(shù)學(xué)與統(tǒng)計(jì)學(xué)
(1)統(tǒng)計(jì)學(xué)與概率
統(tǒng)計(jì)學(xué)與概率主要應(yīng)用于特征可視化、數(shù)據(jù)預(yù)處理、特征轉(zhuǎn)換、數(shù)據(jù)重建、數(shù)據(jù)降維、特征工程以及模型評(píng)價(jià)等領(lǐng)域。在開始學(xué)習(xí)之前,需要先熟悉以下概念:
a) 平均數(shù)
b) 中位數(shù)
c) 眾數(shù)
d) 標(biāo)準(zhǔn)差
e) 相關(guān)系數(shù)與協(xié)方差矩陣
f) 概率分布(二項(xiàng)分布、泊松分布、正態(tài)分布)
g) P值
h) 均方誤差
i) 決定系數(shù)R2
j) 貝葉斯定理(查準(zhǔn)率、查全率、陽性預(yù)測(cè)值、陰性預(yù)測(cè)值、混淆矩陣、ROC曲線)
k) A/B測(cè)試
l) 蒙特卡洛模擬
(2)多元微積分
大部分機(jī)器學(xué)習(xí)模型都是基于某一數(shù)據(jù)集創(chuàng)建而成,并且該數(shù)據(jù)集通常含有多種特征值或者預(yù)示變量。因此在創(chuàng)建一個(gè)機(jī)器學(xué)習(xí)模型之前,必須要足夠了解多元微積分。因此,應(yīng)該熟悉以下概念:
a) 多變量函數(shù)
b) 導(dǎo)數(shù)與斜率
c) 階梯函數(shù)、S型函數(shù)、效用函數(shù)、線性整流函數(shù)
d) 代價(jià)函數(shù)
e) 函數(shù)繪圖
f) 函數(shù)最大值與最小值
(3)線性代數(shù)
線性代數(shù)是機(jī)器學(xué)習(xí)領(lǐng)域最重要的數(shù)學(xué)技能。數(shù)據(jù)集可以通過矩陣進(jìn)行表示。在數(shù)據(jù)預(yù)處理、數(shù)據(jù)轉(zhuǎn)換以及模型評(píng)價(jià)過程中都會(huì)用到線性代數(shù)。因此,需要了解的概念如下:
a) 矢量
b) 矩陣
c) 矩陣的轉(zhuǎn)置
d) 逆矩陣
e)矩陣的行列式
f) 點(diǎn)積
g) 特征值
h) 特征向量
(4)優(yōu)化方法
大部分機(jī)器學(xué)習(xí)算法在運(yùn)行預(yù)測(cè)模型時(shí),通過最小化處理目標(biāo)函數(shù),然后獲取用于測(cè)試數(shù)據(jù)的權(quán)值,以此獲得預(yù)測(cè)標(biāo)簽。為此,需要熟悉以下概念:
a) 代價(jià)函數(shù)/目標(biāo)函數(shù)
b) 似然函數(shù)
c) 誤差函數(shù)
d) 梯度下降算法與其變量(隨機(jī)梯度下降算法)
如果想要進(jìn)一步了解梯度下降算法,請(qǐng)點(diǎn)擊此處:《機(jī)器學(xué)習(xí):梯度下降算法的工作原理》。
2. 編程
在數(shù)據(jù)科學(xué)領(lǐng)域,編程是一項(xiàng)非常重要的技能。其中,使用最普遍的兩種編程語言分別是Python語言與R語言,因此必須對(duì)它們加以了解。但是,某些組織可能并不要求人們同時(shí)掌握Python語言與R語言,只需熟練使用其中任意一種即可。
(1)Python編程語言
大家應(yīng)該熟練掌握基本的Python編程技能。為此,下文列出了幾種最重要Python安裝包,應(yīng)該加以了解并熟練使用。
a) Numpy
b) Pandas
c) Matplotlib
d) Seaborn
e) Scikit-learn
f) PyTorch
(2)R編程語言
a) Tidyverse
b) Dplyr
c) Ggplot2
d) Caret
e) Stringr
(3)其它編程語言
在當(dāng)今社會(huì),某些行業(yè)組織可能還會(huì)要求掌握一些其他編程語言,比如:
a) Excel
b) Tableau
c) Hadoop
d) SQL
e) Spark
3. 數(shù)據(jù)整合與預(yù)處理
在數(shù)據(jù)科學(xué)領(lǐng)域,無論是推理分析、預(yù)測(cè)性分析,還是處方性分析,任何分析過程都少不了數(shù)據(jù)的參與。某一預(yù)測(cè)模型能否進(jìn)行準(zhǔn)確預(yù)測(cè),主要取決于建模過程中使用的數(shù)據(jù)質(zhì)量如何。數(shù)據(jù)的形式豐富多樣,比如文本、表格、圖像、語音和視頻。通常,用以分析的數(shù)據(jù)需要進(jìn)行挖掘、處理,并將其轉(zhuǎn)換成一種合適的形式,以便后續(xù)分析。
(1)數(shù)據(jù)整合:對(duì)于每一位數(shù)據(jù)科學(xué)家來說,數(shù)據(jù)整合都是非常重要的一步。在數(shù)據(jù)科學(xué)項(xiàng)目中,大部分?jǐn)?shù)據(jù)都無法直接用于分析,因?yàn)樗鼈兺ǔ4嬖谟谖募?shù)據(jù)庫(kù)或者各種文檔中,比如網(wǎng)頁(yè)、推文或者PDF文檔。因此,必須學(xué)習(xí)如何整合與清理數(shù)據(jù),才能從中得出深刻見解。
(2)數(shù)據(jù)預(yù)處理:了解數(shù)據(jù)預(yù)處理同樣至關(guān)重要,與其相關(guān)的主要概念如下:
a) 處理缺失數(shù)據(jù)
b) 數(shù)據(jù)重建
c) 處理分類數(shù)據(jù)
d) 在處理分類問題時(shí)對(duì)類別標(biāo)簽進(jìn)行編碼
e) 各種特征轉(zhuǎn)換技術(shù)與降維方法,例如主成分分析法(PCA)、線性判別分析法(LDA)
4. 數(shù)據(jù)可視化
一個(gè)合格的數(shù)據(jù)可視化應(yīng)具備以下幾點(diǎn):
a) 數(shù)據(jù)類型:在決定如何對(duì)數(shù)據(jù)進(jìn)行可視化處理時(shí),首先要了解數(shù)據(jù)的類型,比如它是分類數(shù)據(jù)、離散數(shù)據(jù)、連續(xù)數(shù)據(jù)、時(shí)序數(shù)據(jù),還是其它種類。
b) 幾何圖形:需要根據(jù)數(shù)據(jù)類型選擇合適的可視化方法,具體包括散點(diǎn)圖、曲線圖、條形圖、直方圖、qqplot圖、密度圖、箱形圖、pairplot多變量圖,以及熱圖等。
c) 映射:需要分別選擇X軸與Y軸的變量。如果要分析的數(shù)據(jù)是一個(gè)包含多種特征值的多維數(shù)據(jù)集,那么這一步就尤為重要。
d) 標(biāo)度:需要選擇使用何種標(biāo)度,例如線性標(biāo)度或者對(duì)數(shù)標(biāo)度。
e) 標(biāo)簽:此時(shí)所使用到的標(biāo)簽主要包括坐標(biāo)軸、標(biāo)題、圖例、字號(hào)等。
f) 倫理道德:必須確保該可視化方法能夠闡述事實(shí)。在對(duì)數(shù)據(jù)進(jìn)行清理、總結(jié),最后進(jìn)行可視化處理過程中,必須注意自己的每一步操作,從而確保最終結(jié)果真實(shí)可靠,不會(huì)誤導(dǎo)讀者。
5. 基本的機(jī)器學(xué)習(xí)技能
機(jī)器學(xué)習(xí)是數(shù)據(jù)科學(xué)的一個(gè)重要分支,因此了解機(jī)器學(xué)習(xí)框架同樣至關(guān)重要,比如問題框架、數(shù)據(jù)分析、建模、測(cè)評(píng),以及模型應(yīng)用。如果想要進(jìn)一步了解機(jī)器學(xué)習(xí)框架,請(qǐng)點(diǎn)擊此處:《機(jī)器學(xué)習(xí)過程》。
下文列出了一些重要的機(jī)器學(xué)習(xí)算法,應(yīng)當(dāng)加以學(xué)習(xí)。
(1)監(jiān)督學(xué)習(xí)(連續(xù)變量預(yù)測(cè))
a) 基本回歸分析
b) 多維回歸分析
c) 正則化回歸
(2)監(jiān)督學(xué)習(xí)(離散變量預(yù)測(cè))
a) 邏輯回歸分類器
b) 支持向量機(jī)分類器
c) k-近鄰算法分類器
d) 決策樹分類器
e) 隨機(jī)森林分類器
(3)無監(jiān)督學(xué)習(xí)
a) k-均值聚類算法
6. 數(shù)據(jù)科學(xué)項(xiàng)目實(shí)踐技能
如果想要成為一名數(shù)據(jù)科學(xué)家,僅憑書本上的知識(shí)是完全不夠的。一名合格的數(shù)據(jù)科學(xué)家必須能夠在現(xiàn)實(shí)世界中去執(zhí)行,并成功完成某一數(shù)據(jù)科學(xué)項(xiàng)目。這一過程會(huì)涉及到數(shù)據(jù)科學(xué)與機(jī)器學(xué)習(xí)中的各個(gè)階段,比如問題框架、數(shù)據(jù)采集與分析,以及模型的建立、測(cè)評(píng)與安裝。如果想要獲取數(shù)據(jù)科學(xué)實(shí)踐項(xiàng)目,可以通過以下方式:
a) Kaggle項(xiàng)目實(shí)戰(zhàn)
b) 企業(yè)實(shí)習(xí)
c) 企業(yè)面試
7. 交流能力
一個(gè)合格的數(shù)據(jù)科學(xué)家需要能夠與團(tuán)隊(duì)成員或者組織領(lǐng)導(dǎo)交流自己的想法。因此,如果一個(gè)數(shù)據(jù)科學(xué)家具備優(yōu)秀的交流能力,那么他將能夠把各種非常專業(yè)的信息清楚地傳達(dá)給他人,即便是一個(gè)毫無數(shù)據(jù)科學(xué)背景的門外漢。此外,良好的交流能力也能在數(shù)據(jù)科學(xué)家與其他團(tuán)隊(duì)成員之間(比如數(shù)據(jù)分析師、數(shù)據(jù)工程師、現(xiàn)場(chǎng)工程師等)營(yíng)造出一種團(tuán)結(jié)協(xié)作的氛圍。
8. 終身學(xué)習(xí)
數(shù)據(jù)科學(xué)領(lǐng)域一直處于不斷的變化和發(fā)展之中,因此人們也應(yīng)該時(shí)刻準(zhǔn)備接納和學(xué)習(xí)各種新興技術(shù)。要想緊跟數(shù)據(jù)科學(xué)領(lǐng)域的發(fā)展步伐,方法之一就是與其他數(shù)據(jù)科學(xué)家打交道。因此為了擴(kuò)大社交圈,網(wǎng)上有許多平臺(tái)可供選擇,比如LinkedIn領(lǐng)英網(wǎng)、GitHub代碼庫(kù),以及Medium網(wǎng)站(其中有Towards Data Science和 Towards AI 專欄)等。這些平臺(tái)都非常有用,能夠給人們提供數(shù)據(jù)科學(xué)領(lǐng)域最前沿的發(fā)展信息。
9. 團(tuán)隊(duì)合作
在實(shí)際工作過程中,數(shù)據(jù)科學(xué)家將與其他成員進(jìn)行團(tuán)隊(duì)合作,團(tuán)隊(duì)中可能包括數(shù)據(jù)分析師、工程師,以及各種管理人員。因此,數(shù)據(jù)科學(xué)家不僅需要具備良好的溝通能力,還需要仔細(xì)傾聽其他成員的想法,尤其是在項(xiàng)目推進(jìn)的早期。因?yàn)樵谶@一階段,數(shù)據(jù)科學(xué)家需要依靠工程師或者其他專業(yè)人士來設(shè)計(jì)一個(gè)優(yōu)質(zhì)的數(shù)據(jù)科學(xué)項(xiàng)目。此外,高超的團(tuán)隊(duì)合作技能能夠幫助人們?cè)诼殘?chǎng)上發(fā)光發(fā)亮,并且與其他團(tuán)隊(duì)成員、管理人員,或者是組織領(lǐng)導(dǎo)培養(yǎng)良好的人際關(guān)系。
10.數(shù)據(jù)科學(xué)的倫理道德
必須清楚該項(xiàng)目可能會(huì)帶來的社會(huì)影響。務(wù)必實(shí)事求是。切忌操控?cái)?shù)據(jù),或者使用容易產(chǎn)生偏見的方法。從數(shù)據(jù)采集到數(shù)據(jù)分析,從建立模型再到模型的分析與測(cè)評(píng),每一個(gè)階段都必須遵守基本的倫理道德。切忌企圖通過偽造的結(jié)果來誤導(dǎo)或操控讀者。闡述研究結(jié)論時(shí)務(wù)必守住道德底線。
簡(jiǎn)言之,本文共討論了十項(xiàng)數(shù)據(jù)科學(xué)家的必備技能。數(shù)據(jù)科學(xué)領(lǐng)域的發(fā)展瞬息萬變,只有掌握好該領(lǐng)域的基礎(chǔ)知識(shí),人們才能繼續(xù)探索更加先進(jìn)的理論,比如深度學(xué)習(xí)、人工智能等。
大家,加油!