数据科学中最常用的十种算法

  • A+
所属分类:数据科学 机器学习

最新一期的 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.494%81%55%83%
2政府/非营利机构4.10%9.591%89%49%89%
3学生16%8.194%76%47%77%
4学术界12%7.295%81%44%77%
5整体8.394%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%
5K-近邻法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回归S67%58%16%0.21
2聚类U57%52%8.70%0.05
3决策树/RulesS55%60%-7.30%0.21
4可视化Z49%38%27%0.44
5K-近邻法S46%0.32
6主成分分析U43%0.02
7统计Z43%48%-11%1.39
8随机森林S38%0.22
9时间序列/序列分析Z37%30%25%0.69
10文本挖掘Z36%28%29.80%0.01
11组合方法M34%28%18.90%-0.17
12支持向量机S34%29%17.60%-0.24
13BoostingM33%23%40%0.24
14常规神经网络S24%27%-10.50%-0.35
15最优化Z24%0.07
16朴素贝叶斯S24%22%8.90%-0.02
17BaggingM22%20%8.80%0.02
18偏差检测Z20%16%19%1.61
19神经网络-深度学习S19%-0.35
20奇异值分解U16%0.29
21关联规则Z15%29%-47%0.5
22图/连接/社会网络分析Z15%14%8%-0.08
23因素分析U14%19%-23.80%0.14
24贝叶斯网络S13%-0.1
25遗传算法Z8.80%9.30%-6%0.83
26生存分析Z7.90%9.30%-14.90%-0.15
27最大期望U6.60%-0.19
28其他方法Z4.60%-0.06
29Uplift modelingS3.10%4.80%-36.10%2.01

表 4:KDnuggets 2016 调查:数据科学家使用的算法

编译:机器之心

参与:Terrence L、李亚洲

原文链接: 深度 | KDnuggets 官方调查:数据科学家最常用的十种算法

MySQL必知必会
中国大数据生态图谱&大数据交易市场专题研究报告
Excel数据可视化分析方法大全
R语言神经网络模型银行客户信用评估数据

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: