2021-01-06

‘RandomForestClassifier’ object has no attribute 'oob_score_'问题解决

刚开始以为是scikit-learn版本不够新,于是更新scikit-learn版本。

  • 参考博客
    https://blog.csdn.net/bitcarmanlee/article/details/77856435
    查看原有版本:
conda list

升级到最新版本:

conda update scikit-learn

然而并没有解决什么问题…
百度也是没有找到什么信息
抱着试一试的心态在谷歌搜索:
https://datascience.stackexchange.com/questions/37509/randomforestclassifier-object-has-no-attribute-oob-score-in-python
评论里提到没有fit,怎么返回oob_score。

score_pre = cross_val_score(rfc,l1,tag,cv=10).mean()

确实,只是交叉验证了一下,没有拟合数据。

rfc = rfc.fit(l1,tag)
oob = rfc.oob_score_
print(oob)

成功了!
评论区还有人提到了warm_start,百度!
https://blog.csdn.net/cxx654/article/details/104990328

  • warm_start=True就表示就是在模型训练的过程中,在前一阶段的训练结果上继续训练
  • warm_start=False就表示从头开始训练模型
    当训练好了一个n_estimators=100的集成模型后,想再次训练一个n_estimators=200的模型,则可以设置warm_start=True!
    评论区还提到了一个随机森林使用指导的链接!
    https://www.kaggle.com/raviolli77/random-forest-in-python
    注意想使用obb_score_,那么参数obb_score要设为True!

你可能感兴趣的:(python,机器学习)