【发布时间】:2012-05-23 22:45:53
【问题描述】:
我正在研究数据的二进制分类,我想知道使用支持向量机相对于决策树和自适应提升算法的优缺点。
【问题讨论】:
-
你有多少数据点和特征?嘈杂,稀疏?我建议从快速线性支持向量机scikit-learn SGDClassifier 开始。
标签: machine-learning classification svm decision-tree adaboost
我正在研究数据的二进制分类,我想知道使用支持向量机相对于决策树和自适应提升算法的优缺点。
【问题讨论】:
标签: machine-learning classification svm decision-tree adaboost
您可能想做的事情是使用weka,这是一个不错的软件包,您可以使用它来插入您的数据,然后尝试一堆不同的机器学习分类器,看看每个分类器在您的特定集合上是如何工作的。对于从事机器学习的人来说,这是一条良好的道路。
对您的特定数据或您试图解决的分类问题一无所知,我真的不能仅仅告诉您我对每种方法的了解的随机事情。也就是说,这里有一个大脑转储和一些有用的机器学习幻灯片的链接。
Adaptive Boosting 使用弱基分类器委员会对样本点的类别分配进行投票。基分类器可以是决策树桩、决策树、SVM 等。它采用迭代方法。在每次迭代中 - 如果委员会对特定样本的类别分配达成一致并更正,那么它的权重会降低(在下一次迭代中正确变得不那么重要),如果委员会不同意,那么它变成上加权(更重要的是在下一次迭代中正确分类)。 Adaboost 以具有良好的泛化性(不是过度拟合)而闻名。
SVMs 是一个有用的第一次尝试。此外,您可以将不同的内核与 SVM 一起使用,不仅可以获得线性决策边界,还可以获得更时髦的决策边界。而且,如果您对其进行 L1 正则化(松弛变量),那么您不仅可以防止过度拟合,而且还可以对不可分离的数据进行分类。
Decision trees 非常有用,因为它们几乎可以被任何人解释。它们易于使用。使用树还意味着您还可以了解特定功能对于制作树的重要性。您可能想要检查的是加法树(例如 MART)。
【讨论】: