倍可親

回復: 0

乾貨 :數據科學家最常用的十種演演算法

[複製鏈接]
硨磲大爺 發表於 2017-5-19 21:37 | 顯示全部樓層 |閱讀模式
  本文經機器之心(微信公眾號:almosthuman2014)授權轉載;

  機器之心編譯,參與:Terrence L、李亞洲;

  原文鏈接:http://mp.weixin.qq.com/s/-1Ze6jXQP4lAm-oRNWFmEw;

  最新一期的 KDnuggets 調查展示了一份數據科學家使用度最高的演演算法列表,這份列表中包含了很多驚喜,包括最學術的演演算法和面向產業化的演演算法。

  哪些方法/演演算法是您在過去 12 個月中運用到一個實際的數據科學相關的應用程序中的?

  這是基於 844 個投票者的結果

  排名前十的演演算法以及他們的投票者的比例分佈如下:

  

  圖 1 :數據科學家使用度最高的 10 大演演算法

  文末有全部演演算法的集合列表

  每個受訪者平均使用 8.1 個演演算法,這相比於 2011 的相似調查顯示的結果有了巨大的增長

  與 2011 年關於數據分析/數據挖掘的調查相比,我們注意到最常用的方法仍然是回歸、聚類、決策樹/Rules 和可視化。相對來說最大的增長是由 (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%

  下表顯示了不同的演演算法類型的使用:監督演演算法、無監督演演算法、元演演算法,以及職業類型決定的對演演算法的使用。我們排除 NA(4.5%)和其他(3%)的職業類型。

  職業類型

  % 投票者比例

  平均演演算法使用個數

  % 監督演演算法使用度

  % 無監督演演算法使用度

  % 元使用度

  %其他方法使用度

  1

  產業

  59%

  8.4

  94%

  81%

  55%

  83%

  2

  政府/非營利機構

  4.10%

  9.5

  91%

  89%

  49%

  89%

  3

  學生

  16%

  8.1

  94%

  76%

  47%

  77%

  4

  學術界

  12%

  7.2

  95%

  81%

  44%

  77%

  5

  整體

  8.3

  94%

  82%

  48%

  81%

  表 1:根據職業類型顯示的不同演演算法使用度

  我們注意到,幾乎每個人都使用監督學習演演算法。

  政府和產業業數據科學家比學生和學術研究人員使用更多不同類型的演演算法,而產業數據科學家們更傾向於使用元演演算法。

  接下來,我們根據職業類型分析了前 10 名的演演算法+深度學習使用情況。

  演演算法

  產業

  政府/非盈利機構

  學術界

  學生

  整體

  1

  回歸

  71%

  63%

  51%

  64%

  67%

  2

  聚類

  58%

  63%

  51%

  58%

  57%

  3

  決策

  59%

  63%

  38%

  57%

  55%

  4

  可視化

  55%

  71%

  28%

  47%

  49%

  5

  K-近鄰法

  46%

  54%

  48%

  47%

  46%

  6

  主成分分析

  43%

  57%

  48%

  40%

  43%

  7

  統計

  47%

  49%

  37%

  36%

  43%

  8

  隨機森林

  40%

  40%

  29%

  36%

  38%

  9

  時間序列

  42%

  54%

  26%

  24%

  37%

  10

  文本挖掘

  36%

  40%

  33%

  38%

  36%

  11

  深度學習

  18%

  9%

  24%

  19%

  19%

  表 2:根據職業類型分類的 10 大演演算法+深度學習使用情況

  為了更明顯的看到差異,我們計算了具體職業分類相比於平均演演算法使用度的一個演演算法偏差,即偏差(ALG,類型)=使用(ALG,類型)/使用(ALG,所有的)

  

  圖 2:職業對演演算法的使用偏好

  我們注意到,產業數據科學家們更傾向於使用回歸、可視化、統計、隨機森林和時間序列。政府/非營利更傾向於使用可視化、主成分分析和時間序列。學術研究人員更傾向於使用主成分分析和深度學習。學生普遍使用更少的演演算法,但多為文本挖掘和深度學習。

  接下來,我們看看某一具體地域的參與度,表示整體的 KDnuggets 的用戶:

  美國/加拿大,40%

  歐洲,32%

  亞洲,18%

  拉丁美洲,5%

  非洲/中東,3.4%

  澳洲/紐西蘭,2.2%

  由於在 2011 年的調查中,我們將產業/政府分在了一組,而將學術研究/學生分在了第二組,並計算了演演算法對於業界/政府的親切度:

  N(Alg,Ind_Gov) / N(Alg,Aca_Stu) ------------------------------- - 1 N(Ind_Gov) / N(Aca_Stu)

  因此親切度為 0 的演演算法表示它在產業/政府和學術研究人員或學生之間的使用情況對等。越高 IG 親切度表示演演算法越被產業界普遍使用,反之越接近「學術」。

  最「產業」的演演算法是:

  異常檢測,1.61

  生存分析,1.39

  因子分析,0.83

  時間序列/序列,0.69

  關聯規則,0.5

  而 uplifting modeling 又是最「產業的演演算法」,令人驚訝的發現是,它的使用率極低 - 只有 3.1% - 是本次調查的演演算法中最低的。

  最學術的演演算法是:

  常規神經網路,-0.35

  樸素貝葉斯,-0.35

  支持向量機,-0.24

  深度學習,-0.19

  EM,-0.17

  下圖顯示了所有的演演算法及其產業/學術親切度。

  

  圖 3:KDnuggets 投票:最常被數據科學家使用的演演算法:產業界 VS 學術界

  下表有關於演演算法的細節、兩次調查中使用演演算法的比例、以及像上面解釋的產業親切度。

  表 3:KDnuggets 2016 調查:數據科學家使用的演演算法

  接下來的圖表展示了演演算法的細節,按列

  N:根據使用度排名

  演演算法:演演算法名稱,

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

  在 2016 年調查中使用這種演演算法的調查者比例

  在 2011 年調查中使用這種演演算法的調查者比例

  變動(%2016 年/2011% - 1),

  產業親切度(如上所述)

  N

  演演算法

  類型

  2016 年使用度 %

  2011 年使用度 %

  改變度 %

  產業親和度

  1

  回歸

  S

  67%

  58%

  16%

  0.21

  2

  聚類

  U

  57%

  52%

  8.70%

  0.05

  3

  決策樹/Rules

  S

  55%

  60%

  -7.30%

  0.21

  4

  可視化

  Z

  49%

  38%

  27%

  0.44

  5

  K-近鄰法

  S

  46%

  0.32

  6

  主成分分析

  U

  43%

  0.02

  7

  統計

  Z

  43%

  48%

  -11%

  1.39

  8

  隨機森林

  S

  38%

  0.22

  9

  時間序列/序列分析

  Z

  37%

  30%

  25%

  0.69

  10

  文本挖掘

  Z

  36%

  28%

  29.80%

  0.01

  11

  組合方法

  M

  34%

  28%

  18.90%

  -0.17

  12

  支持向量機

  S

  34%

  29%

  17.60%

  -0.24

  13

  Boosting

  M

  33%

  23%

  40%

  0.24

  14

  常規神經網路

  S

  24%

  27%

  -10.50%

  -0.35

  15

  最優化

  Z

  24%

  0.07

  16

  樸素貝葉斯

  S

  24%

  22%

  8.90%

  -0.02

  17

  Bagging

  M

  22%

  20%

  8.80%

  0.02

  18

  偏差檢測

  Z

  20%

  16%

  19%

  1.61

  19

  神經網路-深度學習

  S

  19%

  -0.35

  20

  奇異值分解

  U

  16%

  0.29

  21

  關聯規則

  Z

  15%

  29%

  -47%

  0.5

  22

  圖/連接/社會網路分析

  Z

  15%

  14%

  8%

  -0.08

  23

  因素分析

  U

  14%

  19%

  -23.80%

  0.14

  24

  貝葉斯網路

  S

  13%

  -0.1

  25

  遺傳演演算法

  Z

  8.80%

  9.30%

  -6%

  0.83

  26

  生存分析

  Z

  7.90%

  9.30%

  -14.90%

  -0.15

  27

  最大期望

  U

  6.60%

  -0.19

  28

  其他方法

  Z

  4.60%

  -0.06

  29

  Uplift modeling

  S

  3.10%

  4.80%

  -36.10%

  2.01

  表 4:KDnuggets 2016 調查:數據科學家使用的演演算法

  END

  本文經機器之心(微信公眾號:almosthuman2014)授權轉載;機器之心編譯

您需要登錄后才可以回帖 登錄 | 註冊

本版積分規則

關於本站 | 隱私權政策 | 免責條款 | 版權聲明 | 聯絡我們

Copyright © 2001-2013 海外華人中文門戶:倍可親 (http://big5.backchina.com) All Rights Reserved.

程序系統基於 Discuz! X3.1 商業版 優化 Discuz! © 2001-2013 Comsenz Inc.

本站時間採用京港台時間 GMT+8, 2024-4-16 19:32

快速回復 返回頂部 返回列表