如何解决BaggingClassifier 可以在 Sklearn 中手动定义多个 base_estimator 吗?
我正在尝试使用 Sklearn 的 BaggingClassifier 来定义多个 base_estimator。根据我的理解,有些事情与此类似。
clf = BaggingClassifier(base_estimator=[SVC(),DecisionTreeClassifier()],n_estimators=3,random_state=0)
但是这里的 BaggingClassifier 并没有将列表作为它的 base_estimator。
我假设我可以切换到 StackingRegressor(estimators=)
来手动定义多个估算器。但是列出来会很痛苦,例如 100 个估计量,更不用说会有许多基本估计量的排列和组合。
你能帮我理解如何在 sklearn.BaggingClassifier 中定义多个 base_estimator 吗?
解决方法
您只能将一个估算器传递给 base_estimator
。 BaggingBlassifier
背后的整个想法是在训练数据的随机样本上训练一个模型,以尝试减少其方差。
如果您需要两个或多个估计器,每个估计器都经过随机数据子集的训练,我建议两种不同的选择:
- 从两个独立的装袋分类器创建您自己的投票流程
- 训练两个不同的
BaggingClassifiers
并将它们传递给sklearn.ensemble.StackingClassifier
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。