@sambodhi
2017-01-26T19:11:35.000000Z
字数 3914
阅读 1807
在“数据为王”的今天,越来越多的人对数据科学产生了兴趣。数据科学家离不开算法的使用,那么,数据科学家最常用的算法,都是哪些呢?
最近,著名的资料探勘信息网站KDnuggets策划了十大算法调查,这次调查对数据科学家常用的算法进行排名,并发现最“产业”和最“学术”的算法,还对这些算法在过去5年间(2011~2016)的变化,做了一番详细的介绍。
这次调查结果,是基于844名受访者投票整理出来。
KDnuggets总结出十大算法及其投票份额如下:
图1:数据科学家使用的十大算法和方法。
请参阅文末的所有算法和方法的完整列表。
从调查中得知,受访者平均使用8.1个算法,与2011年的一项类似调查相比大幅提高。
与用于数据分析/数据挖掘的2011年投票算法相比,我们注意到流行的算法仍然是回归算法、聚类算法、决策树和可视化。相对来说最大的增长是以(pct2016/pct2011-1)测定的以下算法:
在2016年最受欢迎的新算法是:
跌幅最大的算法分别为:
下表显示了不同算法类型的用途:监督学习、无监督学习、元分析和其他算法类型。我们排除了NA(4.5%)和其他(3%)的算法。
表1:按行业类型的算法使用
行业类型 | % 投票 | 算法使用平均数 | %监督学习 | %无监督学习 | %元数据 | % 其他算法 |
---|---|---|---|---|---|---|
产业界 | 59% | 8.4 | 94% | 81% | 55% | 83% |
政府/非盈利组织 | 4.1% | 9.5 | 91% | 89% | 49% | 89% |
学生 | 16% | 8.1 | 94% | 76% | 47% | 77% |
学术界 | 12% | 7.2 | 95% | 81% | 44% | 77% |
全部 | 8.3 | 94% | 82% | 48% | 81% |
我们注意到,几乎所有人都在使用监督学习算法。
政府和产业的数据科学家们比学生或学术界使用了更多的不同类型的算法,产业数据科学家更倾向使用元算法。
接下来,我们分析深度学习的十大算法按行业类型的使用。
表2:深度学习的十大算法按就业类型的使用
Table 2: Top 10 Algorithms + Deep Learning usage by Employment Type
算法 | 产业 | 政府/非营利组织 | 学术研究人员 | 学生 | 全部 |
---|---|---|---|---|---|
回归 | 71% | 63% | 51% | 64% | 67% |
聚类 | 58% | 63% | 51% | 58% | 57% |
决策 | 59% | 63% | 38% | 57% | 55% |
可视化 | 55% | 71% | 28% | 47% | 49% |
K-近邻 | 46% | 54% | 48% | 47% | 46% |
PCA | 43% | 57% | 48% | 40% | 43% |
统计 | 47% | 49% | 37% | 36% | 43% |
随机森林 | 40% | 40% | 29% | 36% | 38% |
时间序列 | 42% | 54% | 26% | 24% | 37% |
文本挖掘 | 36% | 40% | 33% | 38% | 36% |
深度学习 | 18% | 9% | 24% | 19% | 19% |
为了使差异更为醒目,我们计算特定行业类型相关的平均算法使用量设计算法为Bias(Alg,Type)=Usage(Alg,Type)/Usage(Alg,All)-1。
图2:按行业的算法使用偏差
我们注意到产业界数据科学家更倾向使用回归算法、可视化、统计算法、随机森林算法和时间序列。政府/非盈利组织更倾向使用可视化、主成分分析和时间序列。学术研究人员更倾向使用主成分分析和深度学习。学生通常使用算法较少,但他们用的更多的是文本挖掘和深度学习。
接下来,我们看看代表整体KDnuggets访客的地区参与情况。
参与投票者的地区分布如下:
与2011年的调查一样,我们将产业/政府合并为同一个组,将学术研究人员/学生合并为第二组,并计算算法对产业/ 政府的“亲切度”:
N(Alg,Ind_Gov) / N(Alg,Aca_Stu)
------------------------------- - 1
N(Ind_Gov) / N(Aca_Stu)
亲切度为0的算法在产业/政府和学术研究人员/学生的使用情况相同。IG亲切度约稿表示该算法越“产业”,越低则表示越“学术”。
其中最“产业”的算法”是:
虽然增量建模又一次成为最“产业”的算法,但出乎意料的是它的使用率如此低:区区3.1%,在这次调查中,是使用率最低的算法。
最“学术”的算法是:
下图显示了所有算法以及它们在产业界/学术界的亲切度:
图3:Kdnugets调查:数据科学家使用的流行算法:产业界vs学术界
下表包含了算法的详细信息,在2016年和2011年使用它们的受访者百分比调查,变化(%2016 /%2011 - 1)和行业亲切度如上所述。
表3:KDnuggets2016调查:数据科学家使用的算法
下表包含各个算法的详细信息:
N | Algorithm | Type | 2016 % used | 2011 % used | % Change | Industry Affinity |
---|---|---|---|---|---|---|
1 | Regression | S | 67% | 58% | 16% | 0.21 |
2 | Clustering | U | 57% | 52% | 8.7% | 0.05 |
3 | Decision | Trees/Rules | S | 55% | 60% | -7.3% |
4 | Visualization | Z | 49% | 38% | 27% | 0.44 |
5 | K-nearest | neighbors | S | 46% | ||
6 | PCA | U | 43% | 0.02 | ||
7 | Statistics | Z | 43% | 48% | -11.0% | 1.39 |
8 | Random Forests | S | 38% | 0.22 | ||
9 | Time series/Sequence analysis | Z | 37% | 30% | 25.0% | 0.69 |
10 | Text Mining | Z | 36% | 28% | 29.8% | 0.01 |
11 | Ensemble methods | M | 34% | 28% | 18.9% | -0.17 |
12 | SVM S | 34% | 29% | 17.6% | -0.24 | |
13 | Boosting | M | 33% | 23% | 40% | 0.24 |
14 | Neural networks - regular | S | 24% | 27% | -10.5% | -0.35 |
15 | Optimization | Z | 24% | 0.07 | ||
16 | Naive Bayes | S | 24% | 22% | 8.9% | -0.02 |
17 | Bagging | M | 22% | 20% | 8.8% | 0.02 |
18 | Anomaly/Deviation detection | Z | 20% | 16% | 19% | 1.61 |
19 | Neural networks - Deep Learning | S | 19% | -0.35 | ||
20 | Singular Value Decomposition | U | 16% | 0.29 | ||
21 | Association rules | Z | 15% | 29% | -47% | 0.50 |
22 | Graph / Link / Social Network Analysis | Z | 15% | 14% | 8.0% | -0.08 |
23 | Factor Analysis | U | 14% | 19% | -23.8% | 0.14 |
24 | Bayesian networks | S | 13% | -0.10 | ||
25 | Genetic algorithms | Z | 8.8% | 9.3% | -6.0% | 0.83 |
26 | Survival Analysis | Z | 7.9% | 9.3% | -14.9% | -0.15 |
27 | EM | U | 6.6% | -0.19 | ||
28 | Other methods | Z | 4.6% | -0.06 | ||
29 | Uplift modeling | S | 3.1% | 4.8% | -36.1% | 2.01 |