- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
GradientBoostedRegressor
的 pydocs
将 oob_improvement_
作为属性。
http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.GradientBoostingRegressor.html
但是我在 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/
GradientBoostedRegressor 的 pydocs 将 oob_improvement_ 作为属性。 http://scikit-learn.org/stable/modules/ge
我是一名优秀的程序员,十分优秀!