Scikit学习参数oob_score,oob_score_,oob_prediction_



在scikit learn中,我很难弄清楚oob_score_在随机森林回归器上的含义。文件上写着:

oob_score_:浮动使用袋外估计获得的训练数据集的分数。

起初,我认为它会返回包外实例集上每个实例的分数。但这是由属性给出的:

oob_prediction_:形状数组=[n_samples]在训练集上使用袋外估计计算的预测。

返回一个数组,其中包含每个实例的预测。然后分析文档上的其他参数,我意识到该方法score(X,y,sample_weight=None)返回决定系数R²。

考虑到调用属性oob_score_返回一个浮点值,它代表什么?如果可能的话,我也想知道它是如何计算的。

该文档的链接是RandomForestProgsor。

它准确地返回文档中所说的内容

oob_score_:使用开箱即用估计获得的训练数据集的float score。

得分

score(X,y,sample_weight=None)返回决定系数R²。

袋外估计是由于装袋程序而未用于训练的样本。

看看来源,727-740 行

    predictions /= n_predictions
    self.oob_prediction_ = predictions
    if self.n_outputs_ == 1:
        self.oob_prediction_ = 
            self.oob_prediction_.reshape((n_samples, ))
    self.oob_score_ = 0.0
    for k in range(self.n_outputs_):
        self.oob_score_ += r2_score(y[:, k],
                                    predictions[:, k])
    self.oob_score_ /= self.n_outputs_

换句话说,它只是oob_prediction_ 上的R2分数

相关内容

  • 没有找到相关文章

最新更新