【问题标题】:XGBoost Python API – accessing estimators?XGBoost Python API – 访问估算器?
【发布时间】:2022-01-10 18:06:45
【问题描述】:

Scikit-learn 的 sklearn.ensemble.GradientBoostingClassifier(以及其他集成方法)将其弱分类器作为类属性存储在 sklearn.ensemble.GradientBoostingClassifier.estimators_ 中。我正在尝试 XGBoost 包,但似乎没有直接的方法可以访问模型的子估计器(如果有的话)。是否有一种迂回的方式来访问这些估计器,或者我必须修改 XGBoost 代码库以将它们存储在类属性变量中(或者我应该硬着头皮遵循 scikit-learn 实现)?

【问题讨论】:

  • 再想一想,我的想法还需要对 NaN 处理的原生支持,所以 sklearn 的 GradientBoostingClassifier 对我不起作用。同时,我使用sklearn.ensemble.HistGradientBoostingClassifier._predictors 作为代理,但理想情况下我可以访问 XGBoost 子估计器。

标签: machine-learning scikit-learn xgboost ensemble-learning


【解决方案1】:

根据您的首选输出类型,您可以使用get_booster() 方法获取每个助推器的字符串列表(归功于此post)。

或者,您可以使用 XGBoost 的内置 plot_tree() 方法 (documentation) 来可视化每棵树。

【讨论】:

    猜你喜欢
    • 2016-05-13
    • 2019-01-06
    • 1970-01-01
    • 2016-07-02
    • 2016-10-07
    • 2017-01-27
    • 2014-07-30
    • 2022-12-09
    • 2018-07-30
    相关资源
    最近更新 更多