数据挖掘算法比较

5

有没有数据挖掘算法的比较?比较包括性能、准确性和生成强大模型所需的数据量。 目前似乎集成学习算法如bagging和boosting被认为是最准确的。 我没有具体的问题要解决,这只是一个理论问题。

4个回答

8

你应该在网上搜索有关数据挖掘的调查论文。

这里有一篇:数据挖掘中的十大算法,它提供了排名而非并排比较。 (可能会有这种比较,但我没有仔细翻阅这篇论文)。


3
通常来说,很难比较机器学习算法在健壮性和准确性方面的表现。然而,我们可以研究它们的优缺点。以下是我认为最知名的一些机器学习算法(这不是完整内容,只是我的个人意见):
决策树:其中最显著的是C4.5算法。它们有易于解释的模型的优点,但容易出现过拟合。存在许多变种。
贝叶斯网络具有强大的统计学基础。它们特别适用于对不完全数据进行推理的领域。
人工神经网络是广泛使用和强大的技术。理论上,它们能够近似任何任意函数。然而,它们需要调整大量参数(网络结构、节点数、激活函数等)。此外,它们的缺点是作为黑盒工作(模型难以解释)。
支持向量机也许被认为是最强大的技术之一。利用著名的核技巧,理论上可以始终实现100%可分离性。与ANN不同,它们寻求优化一个唯一可解的问题(没有局部最小值)。但它们可能需要大量计算和难以应用于大型数据集。SVM绝对是一个开放的研究领域。
然后,还有一类元学习算法,如集成学习技术,如bagging、boosting、stacking等。它们本身不完整,而是用来改进和组合其他算法的方法。
最后,我应该提到没有算法在普遍情况下比另一个更好,选择哪种算法取决于我们所处的领域、数据以及它是如何预处理的,以及许多其他因素。

4
同意域依赖性。我认为“无免费午餐定理”是关键词。 - mcdowella

3

ROC曲线已被证明对于评估机器学习技术特别是比较和评估不同的分类算法非常有用。您可能会发现这份ROC分析介绍很有帮助。


0
根据您的问题,您似乎对分类算法很感兴趣。首先,我想让您知道数据挖掘不仅仅局限于分类。还有其他几个数据挖掘任务,如挖掘频繁模式、聚类等。
回答您的问题,性能取决于算法,也取决于数据集。对于某些数据集,某些算法可能比其他数据集的算法具有更好的准确性。除了大多数数据挖掘书籍中描述的经典分类算法(C4.5等)之外,还有很多关于这些主题的研究论文发表。如果您想知道现在通常表现更好的算法是什么,我建议您阅读研究论文。研究论文通常会与以前的算法进行一些性能比较。但是,正如我所说,性能可能取决于您的数据。因此,您可能需要尝试算法才能找出最佳算法!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接