Adaboost sklearn 中的估计器错误 python
Estimator errors in 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)
Sklearn AdaBoostClassifier 有一个 n_estimators=50 的默认参数,我相信你的情况使用了它。但是,如果达到其他条件之一,升压过程可能会提前终止。这可能由基本估计器或 SAMME 算法的停止条件之一决定。
在你的案例中,根据情节,提升似乎在 30 个估算器后停止。您可以使用
轻松获得估算器的实际数量
len(estimator)
其中 estimator 是使用 AdaBoostClassifier 的拟合估计器。错误类型取决于打印前执行的功能 estimator_errors_
。
estimator.predict(X_test)
estimator.estimator_errors_
显示测试数据错误X_test
。
希望对您有所帮助。
我正在实施 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)
Sklearn AdaBoostClassifier 有一个 n_estimators=50 的默认参数,我相信你的情况使用了它。但是,如果达到其他条件之一,升压过程可能会提前终止。这可能由基本估计器或 SAMME 算法的停止条件之一决定。
在你的案例中,根据情节,提升似乎在 30 个估算器后停止。您可以使用
轻松获得估算器的实际数量len(estimator)
其中 estimator 是使用 AdaBoostClassifier 的拟合估计器。错误类型取决于打印前执行的功能 estimator_errors_
。
estimator.predict(X_test)
estimator.estimator_errors_
显示测试数据错误X_test
。
希望对您有所帮助。