python - 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)
其中估计器是使用 AdaBoostClassifier 拟合的估计器。错误类型取决于打印前执行的功能estimator_errors_
。
estimator.predict(X_test)
estimator.estimator_errors_
显示测试数据的错误X_test
。
希望有帮助。
推荐阅读
- jquery - 如何防止内容单击以在 jquery 中切换父级?
- nginx - NGINX如何重写路径名而不是文件?
- java - 树视图的占位符?
- python - ValueError:需要超过 1 个值才能使用 matplotlib 解包
- npm-install - npm install windows-build-tools 提示管理员 powershell
- javascript - Javascript 中的异步/等待
- ios - 如何在 iOS 上保存密码
- css - 当 Chrome DevTools 中一个 css 类的名称只有一个星号时,星号是什么意思?
- ios - 以编程方式检测 SwiftUI 中的暗模式以显示适当的图像
- html - 使用 flexbox 将导航栏中的 li 拆分到不同的侧面