如何使用SciKit随机森林的oob_decision_function_学习曲线?

时间:2016-04-12 16:54:32

标签: python scikit-learn random-forest

有人可以解释如何使用python SciKit随机森林分类器的oob_decision_function_属性吗?我想用它来绘制学习曲线,将训练和验证误差与不同的训练集大小进行比较,以便识别过度拟合和其他问题。似乎无法找到有关如何执行此操作的任何信息。

1 个答案:

答案 0 :(得分:2)

您可以将自定义评分函数传递到模型评估字段中的任何scoring参数中,它需要具有签名classifier, X, y_true -> score

对于您的情况,您可以使用类似

的内容
from sklearn.learning_curve import learning_curve
learning_curve(r, X, y, cv=3, scoring=lambda c,x,y: c.oob_score_)

这将针对不同的训练集大小计算3倍交叉验证的oob分数。顺便说一下,我认为你不应该过度使用随机森林,这是他们的好处之一。