在检查模型的统计信息时,confusion matrix
中的数字与OOB error rate
中randomForest
的数字不一致。
如何从混淆矩阵中推断出OOB错误率?它们之间有什么关系?
在下面的示例中,我打印了两个模型的输出,一个适合分层采样(使用sampsize
中的样本子集)和一个不适合的模型(即使用默认采样方案) ,我认为使用所有样品)。
我没有公开数据,但这里是函数调用:
sumY = summary(Y)
sampsize <- c(sumY["Y0"]/10, sumY["Y1"])
# First model in the image above
strat.rf.model <- randomForest(x=X,y=Y,sampsize=sampsize, strata=Y)
# Second model in the image above
rf.model <- randomForest(x=X,y=Y)
答案 0 :(得分:11)
这并不矛盾,只是算术:
> 180 / (1699 + 180)
[1] 0.09579564
> 63 / (63 + 58)
[1] 0.5206612
> (180 + 63) / (1699 + 180 + 63 + 58)
[1] 0.1215
每个类别的错误率定义为该类别中错误分类的观察的比例,而整体错误分类率是整个数据集的错误分类观察的比例。
每个类的错误率很少与整体错误率完全匹配。如果你停下来思考它一秒钟,这是完全合理的:有些类比其他类更难识别,然后整体错误率就像是“平均”。