Adaboost sklearn python中的估算器错误

时间:2020-01-06 09:46:07

标签: python ensemble-learning

我正在实现sklearn AdaBoostClassifier,并绘制了estimator_errors_,它表示增强集合中每个估算器的分类误差。

这是情节:

enter image description here

我有几个问题: 1.测试装置或训练装置是否有错误? 2.为什么在30中的错误是1? 3.它是累积误差吗?

谢谢。

我的代码:

base = LinearSVC(tol=1e-10, loss='hinge', C=1000, max_iter=50000)
ada = AdaBoostClassifier(base_estimator=base ,algorithm='SAMME', n_estimators=n,random_state=10)

1 个答案:

答案 0 :(得分:2)

Sklearn AdaBoostClassifier具有n_estimators = 50的默认参数,我相信在您的情况下会使用该参数。但是,如果达到其他条件之一,则增强过程可能会提前终止。这可能是由基本估计器或SAMME算法的停止条件之一决定的。

就您而言,根据情节,似乎在30个估算器之后,补强停止了。您可以使用以下方式轻松获得估算器的实际数量:

len(estimator)

其中,估算器是使用AdaBoostClassifier拟合的估算器。错误类型取决于打印estimator_errors_之前执行的功能。

estimator.predict(X_test) 
estimator.estimator_errors_ 

显示测试数据X_test的错误。

希望有帮助。