導(dǎo)讀:本文來自于KDnuggets所做的十大算法調(diào)查,對于數(shù)據(jù)工程師常用的算法進行排名,并對其在2011-2016年間的變化進行介紹。
基于調(diào)查,KDnuggets總結(jié)出了數(shù)據(jù)科學(xué)家最常使用的十大算法,它們分別是:
1. Regression 回歸算法
2. Clustering 聚類算法
3. Decision Trees/Rules 決策樹
4. Visualization 可視化
5. k-Nearest Neighbor 鄰近算法
6. PCA (Principal Component Analysis) 主成分分析算法
7. Statistics 統(tǒng)計算法
8. Random Forests 隨機森林算法
9. Time series/Sequence 時間序列
10. Text Mining 文本挖掘
其中,受訪者表示平均使用了8.1個算法,相比2011年類似的調(diào)查大幅提高了。
與2011年的類似調(diào)查對比我們發(fā)現(xiàn)最流行的算法還是回歸算法、聚類算法、決策樹和可視化。相對來說最大的增長是由 (pct2016 /pct2011 - 1) 測定的以下算法:
Boosting,從 2011 年的 23.5% 至 2016 年的 32.8%,同比增長 40%
文本挖掘,從 2011 年的 27.7% 至 2016 年的 35.9%,同比增長 30%
可視化,從 2011 年的 38.3% 至 2016 年的 48.7%,同比增長 27%
時間序列,從 2011 年的 29.6% 至 2016 年的 37.0%,同比增長 25%
異常/偏差檢測,從 2011 年的 16.4% 至 2016 年的 19.5%,同比增長 19%
集成方法,從 2011 年的 28.3%至 2016 年的 33.6%,同比增長 19%
支持向量機,從 2011 年的 28.6% 至 2016 年的 33.6%,同比增長 18%
回歸算法,從 2011 年的 57.9% 至 2016 年的 67.1%,同比增長 16%
另外,2016年最流行的新算法分別是:
K-近鄰,46%
主成分分析,43%
隨機森林算法,38%
優(yōu)化,24%
神經(jīng)網(wǎng)絡(luò) - 深度學(xué)習(xí),19%
奇異值分解,16%
下降最多的分別是:
關(guān)聯(lián)規(guī)則,從 2011 年的 28.6% 至 2016 年的 15.3%,同比下降 47%
增量模型,從 2011 年的 4.8% 至 2016 年的 3.1%,同比下降 36%
因素分析,從 2011 年的 18.6% 至 2016 年的 14.2%,同比下降 24%
生存分析,從 2011 年的 9.3% 至 2016 年的 7.9%,同比下降 15%
不同領(lǐng)域使用的算法比例
我們注意到幾乎所有人都在使用監(jiān)督學(xué)習(xí)算法。
政府和工業(yè)界數(shù)據(jù)科學(xué)家比學(xué)生或者學(xué)術(shù)研究院使用更多不同的算法,而且工業(yè)界數(shù)據(jù)科學(xué)家更傾向于使用元算法。
下面,我們繼續(xù)通過雇員的類型來分析最流行的10個算法和深度學(xué)習(xí)。
為了讓這些差異更容易觀看,我們針對特定雇員類型相關(guān)的平均算法使用量設(shè)計了一個算法。
Bias(Alg,Type)=Usage(Alg,Type)/Usage(Alg,All) - 1.
我們注意到:
工業(yè)界數(shù)據(jù)科學(xué)家更傾向于使用回歸算法、可視化、統(tǒng)計算法、隨機森林算法以及時間序列
政府/非盈利組織更傾向于使用可視化、主成分分析算以及時間序列
學(xué)術(shù)界研究人員更傾向于使用主成分分析算法和深度學(xué)習(xí)
學(xué)生一般使用的算法較少,但是它們會做更多的文本挖掘以及深度學(xué)習(xí)
另外,參與投票的讀者主要來自于
美國/加拿大, 40%
歐洲, 32%
亞洲, 18%
拉丁美洲, 5.0%
非洲/中東, 3.4%
澳大利亞/新西蘭, 2.2%
在 2011 年的調(diào)查中,我們將產(chǎn)業(yè)/政府分在了同一組,將學(xué)術(shù)研究人員/學(xué)生分在了第二組,另外通過算法對于業(yè)界/政府的“親切度”進行了計算:
N(Alg,Ind_Gov) / N(Alg,Aca_Stu)
------------------------------- - 1
N(Ind_Gov) / N(Aca_Stu)
親切度為 0 的算法表示其在產(chǎn)業(yè)/政府和學(xué)術(shù)研究人員/學(xué)生之間的使用情況對等。IG親切度越高表示該算法越被產(chǎn)業(yè)界普遍使用,反之越“學(xué)術(shù)”。
其中,最“ 產(chǎn)業(yè)”的算法是:
增量模型Uplift modeling,2.01
異常檢測Anomaly Detection,1.61
生存分析Survival Analysis,1.39
因子分析Factor Analysis,0.83
時間序列Time series/Sequences,0.69
關(guān)聯(lián)規(guī)則Association Rules,0.5
其中增量模型Uplift modeling又一次成了最“產(chǎn)業(yè)”的算法,但是令人驚訝的是其使用率確很低—只有3.1%,幾乎是這次調(diào)查中使用率最低的算法。
最“ 學(xué)術(shù)”的算法是:
神經(jīng)網(wǎng)絡(luò)Neural networks - regular, -0.35
樸素貝葉斯Naive Bayes, -0.35
支持向量機SVM, -0.24
深度學(xué)習(xí)Deep Learning, -0.19
EM, -0.17
下圖是所有算法以及它們在產(chǎn)業(yè)界/學(xué)術(shù)界的親切度:
數(shù)據(jù)科學(xué)家最常使用的算法 工業(yè)界 vs 學(xué)術(shù)界
2016數(shù)據(jù)科學(xué)家使用的算法調(diào)查匯總
匯總表格中各項含義分別是:
N:根據(jù)使用度排名
Algorithm:算法名稱,
類型:S - 監(jiān)督,U - 無監(jiān)督,M - 元,Z - 其他,
%指代調(diào)查中使用這種算法的調(diào)查者比例
Change—變動(%2016 年/2011% - 1),
Industry Affinity—產(chǎn)業(yè)親切度(前文中提到)