首页 > 解决方案 > Adaboost sklearn python中的估计器错误

问题描述

我正在实施 sklearn AdaBoostClassifier 并绘制了 estimator_errors_ ,它表示提升集成中每个估计器的分类错误。

这是情节:

在此处输入图像描述

我有几个问题: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)

标签: pythonensemble-learning

解决方案


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

在您基于情节的情况下,似乎在 30 个估算器之后提升停止。您可以使用以下方法轻松获得估算器的实际数量,

len(estimator)

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

estimator.predict(X_test) 
estimator.estimator_errors_ 

显示测试数据的错误X_test

希望有帮助。


推荐阅读