【2016 年工程師必備】10 大數據科學家最常使用的演算法都在這!

57de653d98996

【為什麼我們挑選這篇文章】本文為著名的資料探勘資訊網站 KDnuggets 做的十大演算法調查,這次他們 對數據工程師常用的算法進行排名,並對這些算法在 2011-2016 年間的變化進行介紹。(責任編輯:張瑋倫)

基於調查,KDnuggets 總結出了數據科學家最常使用的十大演算法,它們分別是:

  1. Regression ─ 回歸演算法
  2. Clustering ─ 聚類演算法
  3. Decision Trees/Rules ─ 決策樹
  4. Visualization ─ 可視化
  5. k-Nearest Neighbor ─ 鄰近演算法
  6. PCA(Principal Component Analysis)─ 主成分分析演算法
  7. Statistics ─ 統計演算法
  8. Random Forests ─ 隨機森林演算法
  9. Time series/Sequence ─ 時間序列
  10. 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

下圖是所有演算法以及它們在產業界/學術界的親切度:

數據科學家最常使用的算法工業界 vs 學術界

2016 數據科學家使用的演算法調查匯總

匯總表格中各項含義分別是:

N:根據使用度排名

Algorithm:演算法名稱,

類型:S – 監督,U – 無監督,M – 元,Z – 其他,

「%」指代調查中使用這種演算法的調查者比例

Change ─ 變動(%2016 年/2011% – 1)

Industry Affinity ─ 產業親切度

最新出炉——数据科学家最常使用的十大算法

(本文經合作夥伴雷鋒網授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈最新出爐——數據科學家最常使用的十大算法 〉。

點關鍵字看更多相關文章: