繁体   English   中英

scikit-learn中的oob_score_参数等于精度还是误差?

[英]Parameter oob_score_ in scikit-learn equals accuracy or error?

我从python scikit-learn包中实现了ML问题,实现了随机森林分类器(RF)。 在第一阶段,我使用交叉验证对其他算法进行抽查,现在我选择了RF。

后来我还检查了RF的OOB估计告诉我什么。 但是,当我将'oob_score_'的收益与我的简历结果进行比较时,我发现差异很大。

scikit学习文档告诉我:

oob_score:布尔

是否使用现成的样本来估计泛化误差。

由于文档的原因,我假设参数“ oob_score_”是错误估计。 但出于某种原因,我想到它实际上可能会估算出准确度,这至少(至少有点)接近我的简历结果。 我还检查了代码,并且更多地相信这是准确性,但想确保...(在这种情况下,我发现文档误导了BTW)。

oob_score_是否在scikit中学习准确性或错误估计?

它与.score方法类似, .score方法返回模型的准确性 它只是概括为oob场景。 文档确实确实有点误导。

您可能会在代码中找到https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/ensemble/forest.py

for k in range(self.n_outputs_):
            if (predictions[k].sum(axis=1) == 0).any():
                warn("Some inputs do not have OOB scores. "
                     "This probably means too few trees were used "
                     "to compute any reliable oob estimates.")

            decision = (predictions[k] /
                        predictions[k].sum(axis=1)[:, np.newaxis])
            oob_decision_function.append(decision)
            oob_score += np.mean(y[:, k] ==
                                 np.argmax(predictions[k], axis=1), axis=0)

它仅计算正确分类的平均值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM