gpt4 book ai didi

python - 从 sklearn GradientBoostedRegressor 访问计算出的偏差

转载 作者:太空宇宙 更新时间:2023-11-03 14:52:51 25 4
gpt4 key购买 nike

GradientBoostedRegressorpydocsoob_improvement_ 作为属性。

http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.GradientBoostingRegressor.html

enter image description here

但是我在 sklearn 0.18.1 中找到的是:

print '%s\n' %(repr(gbr.oob_improvement_))

{AttributeError}'GradientBoostingRegressor' object has no attribute 'oob_improvement_'

请注意其他属性,例如feature_importances_ 确实出现:

print '%s' %repr(gbr.feature_importances_)

[ 0.18573911 0.02802389 0.03824209 0.4526584 0.04772151 0.03357871 0.16121998 0.01518073]

那么 `oob_improvement`` 属性实际上可以通过其他方式访问吗?

最佳答案

默认情况下,GradientBoostingClassifier 使用所有数据进行提升迭代。由于每个阶段都没有保留数据,因此无法获得 OOB 估计。

另一种方法是在每个阶段使用训练数据的随机子样本;这种方法称为“随机梯度提升”。这样做会减少方差并增加偏差,并使 OOB 估计可用。要启用它,请使用 subsample < 1.0,例如

clf = GradientBoostingClassifier(subsample=0.6)

在上面的示例中,每个基础学习器都在随机 60% 的数据样本上进行训练,其余 40% 的训练样本用于 OOB 估计。

参见 http://scikit-learn.org/stable/auto_examples/ensemble/plot_gradient_boosting_oob.html一个完整的例子。

关于python - 从 sklearn GradientBoostedRegressor 访问计算出的偏差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44725627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com