數(shù)據(jù)科學(xué)家最常用的10種算法
最新的KDnuggets調(diào)查統(tǒng)計(jì)了數(shù)據(jù)科學(xué)家們實(shí)際工作中最常使用的算法,在大多數(shù)學(xué)術(shù)和產(chǎn)業(yè)界,都有驚人發(fā)現(xiàn)哦!
根據(jù)Gregory Piatetsky, KDnuggets,最新的調(diào)查問題是:在最近的12個(gè)月中,你在實(shí)際數(shù)據(jù)科學(xué)相關(guān)應(yīng)用中用到了那些模型/算法?
于是就有了以下基于844份答卷的結(jié)果。
◆ ◆ ◆
排名前十的算法和它們?cè)谕镀闭咧兴急壤?/strong>

圖1:數(shù)據(jù)科學(xué)家最常用的10大算法,所有算法見文末表格
每個(gè)受訪者平均用到了8.1種算法,這相比于 2011 的相似調(diào)查顯示的結(jié)果有了巨大的增長。
相比2011年對(duì)數(shù)據(jù)分析算法的調(diào)查,我們注意到最常用的方法仍然是回歸,聚類,決策樹/規(guī)則以及可視化。比例增幅最大的是(增幅=%2016/%2011 -1):
Boosting算法,提升了40%。由2011年的23.5%提升倒2016年的40%
文本挖掘(Text Mining),提升了30%。從27.7%提升到35.9%
可視化(Visualization),提升了27%。從38.3%提升到48.7%
時(shí)間序列/序列分析(Time series/Sequence analysis),提升了25%。從29.6%提升到37.0%
異常檢測(Anomaly/Deviation detection),提升了19%,從16.4%提升到19.5%
組合方法(Ensemble methods),提升了19%,從28.3%提升到33.6%
支持向量機(jī)(SVM),提升了18%,從28.6%提升到33.6%
回歸(Regression),提升了16%,從57.9%提升到67.1%
◆ ◆ ◆
2016年新秀中最為流行的是
K-最近鄰法(K-nearestneighbors), 46%
主成分分析(PCA), 43%
隨機(jī)森林(Random Forests), 38%
優(yōu)化(Optimization), 24%
神經(jīng)網(wǎng)絡(luò)-深度學(xué)習(xí)(Neural networks - Deep Learning), 19%
奇異值分解(Singular ValueDecomposition), 16%
◆ ◆ ◆
降幅最大的是
關(guān)聯(lián)規(guī)則(Associationrules),下降了47%,從28.6%降為15.3%
Uplift modeling,下降了36%,從4.8% 降為3.1%(出人意料的低,因?yàn)橛泻芏嘞嚓P(guān)文獻(xiàn)發(fā)表)
因子分析(Factor Analysis),下降了24%,從18.6%降為14.2%
存活分析(SurvivalAnalysis),下降了15%,從9.3%將為7.9%
下面的表格顯示了不同的算法類型的使用場所:監(jiān)督算法,無監(jiān)督算法,元算法和其它算法。應(yīng)用類型未知(NA,4.5%)或者其它職業(yè)類型(3%)的不包括在內(nèi)。
表1:不同職業(yè)類型的算法使用

我們注意到,幾乎所有的人都在使用監(jiān)督學(xué)習(xí)算法。政府和產(chǎn)業(yè)界的數(shù)據(jù)科學(xué)家們使用的算法類型比學(xué)生和科學(xué)界要多。產(chǎn)業(yè)數(shù)據(jù)科學(xué)家們更傾向于使用元算法。
◆ ◆ ◆
不同職業(yè)類型最常用的10大算法+深度學(xué)習(xí)情況
接下來,我們分析了不同職業(yè)類型最常用的10大算法+深度學(xué)習(xí)情況
表2: 不同職業(yè)類型的10大算法+深度學(xué)習(xí)

為了更清楚地展示這些差異,我們用一個(gè)公式來計(jì)算不同職業(yè)類型的算法使用率偏倚:
偏倚=某種職業(yè)類型的算法使用率/所有職業(yè)類型的算法使用率-1

圖2:不同場所的算法使用率偏倚
我們注意到,產(chǎn)業(yè)數(shù)據(jù)科學(xué)家們更傾向于用回歸,可視化,統(tǒng)計(jì),隨機(jī)森林和時(shí)間序列。政府/非盈利組織則更傾向于使用可視化,主成分分析和時(shí)間序列。學(xué)術(shù)界的研究人員們更多的用到主成分分析和深度學(xué)習(xí)。學(xué)生們普遍使用的算法較少,但多用到文本挖掘和深度學(xué)習(xí)。
接下來,我們看看某一具體地域的參與度,表示整體的KDnuggets用戶。
參與調(diào)查人員的地區(qū)分布:
美國/加拿大, 40%
歐洲, 32%
亞洲, 18%
拉丁美洲, 5.0%
非洲/中東, 3.4%
澳大利亞/新西蘭, 2.2%
在2011年的調(diào)查中,我們把產(chǎn)業(yè)和政府兩個(gè)行業(yè)的被調(diào)查者合為一組,把學(xué)術(shù)研究者和學(xué)生合為一組,然后計(jì)算行業(yè)政府組的算法使用親切度:
(行業(yè)政府組的算法使用率/學(xué)術(shù)學(xué)生組的算法使用率)/(行業(yè)政府組的人數(shù)/學(xué)術(shù)學(xué)生組的人數(shù))-1
因此,親切度為0的算法表示它在產(chǎn)業(yè)/政府組和學(xué)術(shù)學(xué)生組使用率相同。越高IG親切度說明該算法越偏向于產(chǎn)業(yè),結(jié)果越小則算法越偏向于學(xué)術(shù)。
最偏向于“產(chǎn)業(yè)算法”是:
uplifting modelling, 2.01
異常檢測, 1.61
存活分析, 1.39
因子分析, 0.83
時(shí)間序列/序列分析, 0.69
關(guān)聯(lián)規(guī)則, 0.5
盡管uplift modeling再次成為最偏向于“行業(yè)算法”,令人吃驚的卻是它使用率極低,只有3.1%,是整個(gè)調(diào)查中比例最低的。
最偏向于“學(xué)術(shù)算法”是:
神經(jīng)網(wǎng)絡(luò), -0.35
樸素貝葉斯, -0.35
支持向量機(jī), -0.24
深度學(xué)習(xí), -0.19
最大期望, -0.17
下圖顯示了所有算法及其產(chǎn)業(yè)/學(xué)術(shù)親切度。

圖3:KDnuggets調(diào)研:數(shù)據(jù)科學(xué)家使用最多的算法:產(chǎn)業(yè)與學(xué)術(shù)領(lǐng)域?qū)Ρ?/strong>
下表是所有算法調(diào)研結(jié)果的細(xì)節(jié),分別是2016年受訪人群使用比例,2011年使用比例,變化(2016年比例/2011年比例-1)以及上文提及的產(chǎn)業(yè)親切度。
表3:KDnuggets2016調(diào)研:數(shù)據(jù)科學(xué)家使用的算法
下方的表格是所有算法的調(diào)研結(jié)果細(xì)節(jié),不同列依次代表的是:
排名: 根據(jù)使用比例的排名
算法:算法名稱
類型: S – 有監(jiān)督, U – 無監(jiān)督, M – 元(meta), Z – 其他方法,
在2016年調(diào)查中使用該算法的人數(shù)比例
在2016年調(diào)查中使用該算法的人數(shù)比例
變化:(%2016 / %2011 -1),
產(chǎn)業(yè)親切度見上文的解釋.
表4:KDnuggets 2016 調(diào)研:數(shù)據(jù)科學(xué)家使用的算法
