大数据分析到底需要多少种工具?

简介:

大数据

JMLR杂志上最近有一篇论文,作者比较了179种不同的分类学习方法(分类学习算法)在121个数据集上的性能,发现Random Forest(随机森林)和SVM(支持向量机)分类准确率最高,在大多数情况下超过其他方法。本文针对“大数据分析到底需要多少种工具?”这一问题展开讨论,总结机器学习领域多年来积累的经验规律,继而导出大数据分析应该采取的策略。

1.分类方法大比武

大数据分析主要依靠机器学习和大规模计算。机器学习包括监督学习、非监督学习、强化学习等,而监督学习又包括分类学习、回归学习、排序学习、匹配学习等(见图1)。分类是最常见的机器学习应用问题,比如垃圾邮件过滤、人脸检测、用户画像、文本情感分析、网页归类等,本质上都是分类问题。分类学习也是机器学习领域,研究最彻底、使用最广泛的一个分支。

机器学习

图1 机器学习分类体系

最近、Fernández-Delgado等人在JMLR(Journal of Machine Learning Research,机器学习顶级期刊)杂志发表了一篇有趣的论文。他们让179种不同的分类学习方法(分类学习算法)在UCI 121个数据集上进行了“大比武”(UCI是机器学习公用数据集,每个数据集的规模都不大)。结果发现Random Forest(随机森林)和SVM(支持向量机)名列第一、第二名,但两者差异不大。在84.3%的数据上、Random Forest压倒了其它90%的方法。也就是说,在大多数情况下,只用Random Forest 或 SVM事情就搞定了。

2.几点经验总结

大数据分析到底需要多少种机器学习的方法呢?围绕着这个问题,我们看一下机器学习领域多年得出的一些经验规律。

大数据分析性能的好坏,也就是说机器学习预测的准确率,与使用的学习算法、问题的性质、数据集的特性包括数据规模、数据特征等都有关系。

一般地,Ensemble方法包括Random Forest和AdaBoost、SVM、Logistic Regression 分类准确率最高。

没有一种方法可以“包打天下”。Random Forest、SVM等方法一般性能最好,但不是在什么条件下性能都最好。

不同的方法,当数据规模小的时候,性能往往有较大差异,但当数据规模增大时,性能都会逐渐提升且差异逐渐减小。也就是说,在大数据条件下,什么方法都能work的不错。参见图2中Blaco & Brill的实验结果。

对于简单问题,Random Forest、SVM等方法基本可行,但是对于复杂问题,比如语音识别、图像识别,最近流行的深度学习方法往往效果更好。深度学习本质是复杂模型学习,是今后研究的重点。

在实际应用中,要提高分类的准确率,选择特征比选择算法更重要。好的特征会带来更好的分类结果,而好的特征的提取需要对问题的深入理解。

大数据
图2 不同机器学习方法在数据集增大时的学习曲线。

3.应采取的大数据分析策略

建立大数据分析平台时,选择实现若干种有代表性的方法即可。当然,不仅要考虑预测的准确率,还有考虑学习效率、开发成本、模型可读性等其他因素。大数据分析平台固然重要,同时需要有一批能够深入理解应用问题,自如使用分析工具的工程师和分析人员。
只有善工利器,大数据分析才能真正发挥威力。


本文作者:佚名

来源:51CTO

相关文章
|
23天前
|
SQL 分布式计算 数据可视化
Tableau与大数据:可视化工具在大数据分析中的应用
【4月更文挑战第8天】Tableau是一款领先的数据可视化工具,擅长于大数据分析,提供广泛的数据连接器,支持多源整合。它与Hadoop、Spark等深度集成,实现高效大数据处理。Tableau的拖拽式界面和交互式分析功能使得非技术人员也能轻松探索数据。在实战中,Tableau用于业务监控、数据storytelling和自助式分析,推动数据民主化,提升决策效率。未来,Tableau将持续创新,扩展生态系统,并保障数据安全与合规性,助力企业最大化数据价值。
33 0
|
29天前
|
存储 消息中间件 监控
【Flume】Flume在大数据分析领域的应用
【4月更文挑战第4天】【Flume】Flume在大数据分析领域的应用
|
2月前
|
供应链
代采系统如何利用大数据分析优化采购决策?
代采系统可以利用大数据分析来优化采购决策
|
2月前
|
Cloud Native 数据处理 云计算
探索云原生技术在大数据分析中的应用
随着云计算技术的不断发展,云原生架构作为一种全新的软件开发和部署模式,正逐渐引起企业的广泛关注。本文将探讨云原生技术在大数据分析领域的应用,介绍其优势与挑战,并探讨如何利用云原生技术提升大数据分析的效率和可靠性。
|
2月前
|
存储 消息中间件 大数据
Go语言在大数据处理中的实际应用与案例分析
【2月更文挑战第22天】本文深入探讨了Go语言在大数据处理中的实际应用,通过案例分析展示了Go语言在处理大数据时的优势和实践效果。文章首先介绍了大数据处理的挑战与需求,然后详细分析了Go语言在大数据处理中的适用性和核心技术,最后通过具体案例展示了Go语言在大数据处理中的实际应用。
|
2月前
|
存储 分布式计算 算法
【底层服务/编程功底系列】「大数据算法体系」带你深入分析MapReduce算法 — Shuffle的执行过程
【底层服务/编程功底系列】「大数据算法体系」带你深入分析MapReduce算法 — Shuffle的执行过程
28 0
|
2天前
|
存储 机器学习/深度学习 数据采集
大数据处理与分析实战:技术深度剖析与案例分享
【5月更文挑战第2天】本文探讨了大数据处理与分析的关键环节,包括数据采集、预处理、存储、分析和可视化,并介绍了Hadoop、Spark和机器学习等核心技术。通过电商推荐系统和智慧城市交通管理的实战案例,展示了大数据在提高用户体验和解决实际问题上的效能。随着技术进步,大数据处理与分析将在更多领域发挥作用,推动社会进步。
|
5天前
|
存储 运维 监控
|
5天前
|
存储 数据可视化 大数据
大数据分析与处理:探索数据的深层价值
大数据分析与处理:探索数据的深层价值
20 2
|
15天前
|
存储 分布式计算 大数据
使用 Java 进行大数据处理和分析
【4月更文挑战第19天】本文探讨了Java在大数据处理中的关键作用,涉及Hadoop框架、HDFS数据存储、MapReduce编程模型及Spark等数据分析工具。还包括数据预处理、可视化、性能优化、安全与隐私保护以及完整处理流程。Java在金融、医疗、电商等领域有广泛应用,为大数据洞察和决策提供支持,但同时也需要开发者具备深厚的技术背景和实践经验。

热门文章

最新文章