【问题标题】:Why does AdaBoostClassifier with SVM work worse为什么带有 SVM 的 AdaBoostClassifier 效果更差
【发布时间】:2015-12-16 23:45:39
【问题描述】:

我说的工作更差,是指更高的训练错误。

# Boosted SVC
clf = AdaBoostClassifier(base_estimator=SVC(random_state=1), random_state=1, algorithm="SAMME", n_estimators=5)
clf.fit(X, y)

# Only SVC
clf = SVC()
clf.fit(X, y)

我的训练数据是

boosted SVM 的结果:

SVM 的结果:

【问题讨论】:

  • 您应该在stats.stackexchange.com 上提问。另外,我认为这是因为提升需要比线性更多的可变(分离数据的可能性更大)算法,你可以尝试非线性 svm 吗?
  • 另外,这不是实现问题 - 这是一些理论问题,我也有兴趣得到这个问题的答案。我对 AdaBoost 自制实现做了同样的事情,它也没有正常工作。只有使用决策树才能获得正常结果。
  • @Olologin sklearn.svm.SVC 的默认内核是rbf,它是非线性的。

标签: python machine-learning scikit-learn svm adaboost


【解决方案1】:

adaBoost 的主要概念是结合弱学习器,这就是为什么默认分类器是决策树桩的原因。因此,通过使用 SVM(强分类器)作为弱分类器,您将失去集成学习的概念,并且得到最差的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-18
    • 1970-01-01
    • 2015-08-23
    • 2011-03-01
    • 2017-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多