最新出炉 数据科学家最常使用的十大算法
导读:本文来自于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―产业亲切度(前文中提到)
本文由雷锋网(搜索“雷锋网”公众号关注)独家编译,未经许可拒绝转载!Data Scientists at Work
via KDnuggets
题图来子Data Scientists at Work