我们知道有一千个分类器,最近我被告知,有些人说adaboost
就像一样。
答案 0 :(得分:6)
首先,adaboost是一种元算法,与您最喜欢的分类器一起使用(在...之上)。其次,在一个问题域中运行良好的分类器通常在另一个问题域中不能很好地工作。请参阅No Free Lunch维基百科页面。所以,你的问题没有答案。不过,了解人们在实践中使用的内容可能会很有趣。
答案 1 :(得分:3)
Weka和Mahout不是算法......它们是机器学习库。它们包括各种算法的实现。因此,您最好的选择是选择一个库并尝试一些不同的算法,以查看哪一个最适合您的特定问题(“最佳效果”将取决于培训成本,分类成本和分类准确性)。
如果是我,我会从天真的贝叶斯,k近邻和支持向量机开始。它们代表了完善的,易于理解的方法,具有非常不同的权衡。朴素贝叶斯便宜,但不是特别准确。 K-NN在训练期间很便宜,但在分类过程中(可能)很昂贵,虽然它通常非常准确但很容易受到过度训练。 SVM的训练成本很高,并且需要调整很多元参数,但它们应用起来很便宜,并且通常至少与k-NN一样准确。
如果您告诉我们您正在尝试解决的问题的更多信息,我们可能会提供更有针对性的建议。但如果你只是在寻找One True算法,那就没有一个 - 没有免费午餐定理可以保证。
答案 2 :(得分:2)
Apache Mahout(开源,java)似乎已经发挥了很多作用。
答案 3 :(得分:2)
Weka是一个非常受欢迎且稳定的机器学习库。它已存在很长一段时间,并用Java
编写。
答案 4 :(得分:1)
Hastie等。 (2013年,统计学习要素)得出结论,梯度提升机是最好的"现成的"方法。独立于你的问题。 定义(参见第352页): “现成的”方法就是这样一种方法 可以直接应用于数据,而无需花费大量时间来处理数据预处理或仔细调整学习过程。
有点旧意思: 实际上,Breiman(NIPS Workshop,1996)将AdaBoost称为“世界上最好的现成分类器”(参见Breiman(1998))。