【问题标题】:Fitting each estimator of a BaggingClassifier separately分别拟合 BaggingClassifier 的每个估计器
【发布时间】:2020-04-11 23:19:17
【问题描述】:

有什么办法可以让partial_fitestimator 一个一个BaggingClassifier 一个接一个? 像这样的:

estim = BaggingClassifier(base_estimator=MLPClassifier(), n_estimators=33)
for model in estim:
    model.partial_fit(X, Y)

在我的真实代码中,每个estimator 中的每个partial_fit 都将使用不同的数据。

【问题讨论】:

    标签: python machine-learning scikit-learn


    【解决方案1】:

    安装 BaggingClassifier 后,您可以访问其估算器列表:clf.estimators_

    用通常的fit

    estim = BaggingClassifier(base_estimator=MLPClassifier(), n_estimators=33)
    for model in estim.estimators_:
        model.fit(X, Y)
    

    更多内容请关注docs

    【讨论】:

    • 感谢您的回答!但我正在寻找的是在拟合之前访问每个估计器
    • 我猜它们不是在拟合之前创建的。但是,当您在每个模型上重新运行拟合时,拟合将从头开始。这意味着结果与您先拟合它们然后放入 bagging 分类器的结果相同。
    • 所以,为了清楚起见。所有 bagging 所做的只是将给定的分类器收集在一起并在随机数据子样本上训练它们。当您独立访问分类器时,您会破坏这种随机性。但是,如果您真正想要的是首先预训练一组模型,然后将它们放入 bagging,请尝试将 warm_start=True 与 bagging 结合使用。
    • 它说:当设置为 True 时,重用上一次调用的解决方案以适应并向集成添加更多的估计器。“添加更多的估计器”是什么意思?
    猜你喜欢
    • 2018-11-12
    • 2015-06-15
    • 2016-10-19
    • 2011-11-27
    • 2020-06-25
    • 2015-12-09
    • 2021-05-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多