【為什麼我們挑選這篇文章】本文為著名的資料探勘資訊網站 KDnuggets 做的十大演算法調查,這次他們對數據工程師常用的算法進行排名,並對這些算法在2011-2016年間的變化進行介紹。(責任編輯:張瑋倫)
基於調查,KDnuggets 總結出了數據科學家最常使用的十大演算法,它們分別是:
- Regression ─ 回歸演算法
- Clustering ─ 聚類演算法
- Decision Trees/Rules ─ 決策樹
- Visualization ─ 可視化
- k-Nearest Neighbor ─ 鄰近演算法
- PCA(Principal Component Analysis) ─ 主成分分析演算法
- Statistics ─ 統計演算法
- Random Forests ─ 隨機森林演算法
- Time series/Sequence ─ 時間序列
- Text Mining ─ 文本挖掘
其中,受訪者表示平均使用了8.1個演算法,相比2011年類似的調查大幅提高了。
與2011年的類似調查對比我們發現最流行的演算法還是回歸演算法、聚類演算法、決策樹和可視化。相對來說最大的增長是由(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%
優化,24%
神經網路 ─ 深度學習,19%
奇異值分解,16%
下降最多的分別是:
關聯規則,從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%
不同領域使用的演算法比例
我們注意到幾乎所有人都在使用監督學習演算法。
政府和工業界數據科學家比學生或者學術研究院使用更多不同的算法,而且工業界數據科學家更傾向於使用元演算法。
下面,我們繼續通過僱員的類型來分析最流行的10個演算法和深度學習。
為了讓這些差異更容易觀看,我們針對特定僱員類型相關的平均演算法使用量設計了一個演算法。
Bias(Alg,Type)=Usage(Alg,Type)/Usage(Alg,All) – 1.
我們注意到:
工業界數據科學家更傾向於使用回歸演算法、可視化、統計演算法、隨機森林演算法及時間序列
政府 /非盈利組織更傾向於使用可視化、主成分分析算以及時間序列
學術界研究人員更傾向於使用主成分分析演算法和深度學習
學生一般使用的演算法較少,但是它們會做更多的文本挖掘以及深度學習
另外,參與投票的讀者主要來自於
美國/加拿大,40%
歐洲,32%
亞洲,18%
拉丁美洲,5.0%
非洲/中東,3.4%
澳大利亞/新西蘭,2.2%
在2011 年的調查中,我們將產業/政府分在了同一組,將學術研究人員/學生分在了第二組,另外通過演算法對於業界/政府的「親切度」進行了計算:
N(Alg,Ind_Gov)/N(Alg,Aca_Stu)
——————————- – 1
N(Ind_Gov)/N(Aca_Stu)
親切度為 0 的演算法表示其在產業/政府和學術研究人員/學生之間的使用情況對等。IG親切度越高表示該演算法越被產業界普遍使用,反之越「學術」。
其中,最「產業」的演算法是:
增量模型Uplift modeling,2.01
異常檢測Anomaly Detection,1.61
生存分析Survival Analysis,1.39
因子分析Factor Analysis,0.83
時間序列Time series/Sequences,0.69
關聯規則Association Rules,0.5
其中增量模型 Uplift modeling 又一次成了最「產業」的演算法,但是令人驚訝的是其使用率確很低—只有3.1%,幾乎是這次調查中使用率最低的算法。
最「學術」的演算法是:
神經網絡Neural networks – regular,-0.35
樸素貝葉斯Naive Bayes,-0.35
支持向量機SVM,-0.24
深度學習Deep Learning,-0.19
EM,-0.17
下圖是所有演算法以及它們在產業界/學術界的親切度:
2016數據科學家使用的演算法調查匯總
匯總表格中各項含義分別是:
N:根據使用度排名
Algorithm:演算法名稱,
類型:S – 監督,U – 無監督,M – 元,Z – 其他,
「%」指代調查中使用這種演算法的調查者比例
Change ─ 變動(%2016 年/2011% – 1)
Industry Affinity ─ 產業親切度
(本文經合作夥伴雷鋒網授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為〈最新出爐——數據科學家最常使用的十大算法〉。