写点什么

这一年来,数据科学家都用哪些算法?

  • 2017-02-02
  • 本文字数:2263 字

    阅读完需:约 7 分钟

在“数据为王”的今天,越来越多的人对数据科学产生了兴趣。数据科学家离不开算法的使用,那么,数据科学家最常用的算法,都是哪些呢?

最近,著名的资料探勘信息网站 KDnuggets 策划了十大算法调查,这次调查对数据科学家常用的算法进行排名,并发现最“产业”和最“学术”的算法,还对这些算法在过去5 年间(2011~2016)的变化,做了一番详细的介绍。

这次调查结果,是基于844 名受访者投票整理出来。

KDnuggets 总结出十大算法及其投票份额如下:

图 1:数据科学家使用的十大算法和方法。

请参阅文末的所有算法和方法的完整列表。

从调查中得知,受访者平均使用 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- 近邻算法(K-nearest neighbors,KNN),46% 份额
  • 主成分分析(Principal Commponent Analysis,PCA),43%
  • 随机森林算法(Random Forests,RF),38%
  • 最优化算法(Optimization),24%
  • 神经网络 - 深度学习(Neural networks-Deep Learning),19%
  • 奇异值矩阵分解(Singular Value Decomposition,SVD), 16%

跌幅最大的算法分别为:

  • 关联规则(Association rules),从 2011 年的 28.6% 至 2016 年的 15.3%,同比下降 47%
  • 增量建模(Uplift modeling),从 2011 年的 4.8% 至 2016 年的 3.1%,同比下降 36%
  • 因子分析(Factor Analysis),从 2011 年的 18.6% 至 2016 年的 14.2%,同比下降 24%
  • 生存分析(Survival Analysis),从 2011 年的 9.3% 至 2016 年的 7.9%,同比下降 15%

下表显示了不同算法类型的用途:监督学习、无监督学习、元分析和其他算法类型。我们排除了 NA(4.5%)和其他(3%)的算法。

表 1:按行业类型的算法使用

我们注意到,几乎所有人都在使用监督学习算法
政府和产业的数据科学家们比学生或学术界使用了更多的不同类型的算法,产业数据科学家更倾向使用元算法

接下来,我们分析深度学习的十大算法按行业类型的使用。

表 2:深度学习的十大算法按就业类型的使用
Table 2: Top 10 Algorithms + Deep Learning usage by Employment Type

为了使差异更为醒目,我们计算特定行业类型相关的平均算法使用量设计算法为 Bias(Alg,Type)=Usage(Alg,Type)/Usage(Alg,All)-1。

图 2:按行业的算法使用偏差

我们注意到产业界数据科学家更倾向使用回归算法、可视化、统计算法、随机森林算法和时间序列。政府 / 非盈利组织更倾向使用可视化、主成分分析和时间序列。学术研究人员更倾向使用主成分分析和深度学习。学生通常使用算法较少,但他们用的更多的是文本挖掘和深度学习。

接下来,我们看看代表整体 KDnuggets 访客的地区参与情况。

参与投票者的地区分布如下:

  • 北美,40%
  • 欧洲,32%
  • 亚洲 8%
  • 拉美,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

虽然增量建模又一次成为最“产业”的算法,但出乎意料的是它的使用率如此低:区区 3.1%,在这次调查中,是使用率最低的算法。

最“学术”的算法是:

  • 神经网络(Neural networks - regular),-0.35
  • 朴素贝叶斯(Naive Bayes),-0.35
  • 支持向量机(SVM),-0.24
  • 深度学习(Deep Learning),-0.19
  • 最大期望算法(EM),-0.17

下图显示了所有算法以及它们在产业界 / 学术界的亲切度:

图 3:Kdnugets 调查:数据科学家使用的流行算法:产业界 vs 学术界

下表包含了算法的详细信息,在 2016 年和 2011 年使用它们的受访者百分比调查,变化(%2016 /%2011 - 1)和行业亲切度如上所述。

表 3:KDnuggets2016 调查:数据科学家使用的算法
下表包含各个算法的详细信息:

  • N: 根据使用度排名
  • Algorithm: 算法名称
  • Type:类型。S - 监督,U - 无监督,M - 元,Z - 其他,
  • 2016 % used:2016 年调查中使用该算法的受访者比例
  • 2011 % used:2011 年调查中使用该算法的受访者比例
  • %Change:变动 (%2016 / %2011 - 1)
  • Industry Affinity:产业亲切度(上文已提到)


感谢杜小芳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-02-02 18:002555
用户头像

发布了 375 篇内容, 共 189.5 次阅读, 收获喜欢 945 次。

关注

评论

发布
暂无评论
发现更多内容

Git基础 |打tag

xcbeyond

git 28天写作 tag 12月日更

【架构实战营】模块三:命题作业

wgl

「架构实战营」

瞰见 | 开源,会不会变成开源创业的焦油坑?

OpenTEKr

狄安瞰源

Java 数据持久化系列之池化技术

程序员历小冰

MySQL 持久化 28天写作 池化技术 12月日更

有趣的灵魂万里挑一:从智能座舱看汽车进化史

脑极体

Hoo研究院币 | 币海寻珠——加密行业即将到来的发售事件

区块链前沿News

加密货币 虎符 虎符交易所

引领人工智能技术自立自强 百度吴甜获评“首都最美巾帼奋斗者”

百度大脑

人工智能「

外包学生管理系统详细设计文档

糖糖学编程

架构实战营

深入理解一下Python中的面向对象编程

宇宙之一粟

Python 面向对象 12月日更

ALC北京发起人 姜宁:通过开放与协作,我们可以实现一个人想都不敢想的事情 I OpenTEKr 大话开源 Vol.6

OpenTEKr

大话开源

一个cpp协程库的前世今生(一)缘起

SkyFire

协程 cpp cocpp

架构实战营:模块三作业

Geek_93ffb0

「架构实战营」

VS Code 如何设置大小写转换快捷键

AlwaysBeta

vscode

学习总结 2021.12.30

mj4ever

学习笔记

第三周学习总结

糖糖学编程

架构实战营

最近火热的web3到底是什么?

石云升

区块链 28天写作 12月日更 web3

架构实战 模块三作业

mj4ever

架构实战

从人工到智能!百度AI开发者大会分论坛,探寻国球乒乓背后的AI之路

百度大脑

人工智能

架构实战营4期-模块3作业

木几丶

「架构实战营」

元宇宙很好,但VR开发者不准备停留在这里

白洞计划

详细架构设计文档

Anlumina

#架构实战营

架构实战营 - 模块 3 - 作业

Pyel

「架构实战营」

架构实战营模块三作业

lchx08

「架构实战营」

阿里云王志坤:强劲可靠、无处不在的云,为创新保驾护航

阿里云弹性计算

弹性计算 年度峰会

百度飞桨EasyDL桌面版正式上线,没网也能训练AI!

百度大脑

人工智能

百度智能云发布零碳园区解决方案,助力实现双碳目标

百度大脑

人工智能

【架构实战营】模块三:知识点总结

wgl

「架构实战营」

一口气搞懂【Linux内存管理】,就靠这60张图、59个问题了

奔着腾讯去

内存泄露 内存管理 Linux Kenel 内存映射 内存池

Golang中文件的基本操作

liuzhen007

Go 28天写作 Go 语言 12月日更

费用节省 50%,函数计算 FC 助力分众传媒降本增效

阿里巴巴云原生

阿里云 云原生 合作 函数计算FC 分众传媒

阿里巴巴超大规模 Kubernetes 基础设施运维体系揭秘

阿里巴巴云原生

阿里云 Serverless Kubernetes 云原生 ASI

这一年来,数据科学家都用哪些算法?_语言 & 开发_刘志勇_InfoQ精选文章