Sab*_*ian 5 r confusion-matrix random-forest
我创建了一个random forest我的数据:
fit=randomForest(churn~., data=data_churn[3:17], ntree=1,
importance=TRUE, proximity=TRUE)
Run Code Online (Sandbox Code Playgroud)
我很容易看到我confusion matrix:
conf <- fit$confusion
> conf
No Yes class.error
No 945 80 0.07804878
Yes 84 101 0.45405405
Run Code Online (Sandbox Code Playgroud)
现在我需要知道随机森林的准确性.我四处搜索并意识到插入符号库有一个confusionMatrix方法可以获得混淆矩阵并返回准确性(以及许多其他值).但是,该方法需要另一个名为的参数"reference".我的问题是如何为获取随机森林的准确性的方法提供参考?并且...它是获得随机森林准确性的正确方法吗?
用于randomForest(..., do.trace=T)在训练期间通过类和ntree查看OOB错误.
(仅供参考,你选择了ntree = 1,所以你只会得到一个rpart树,而不是森林,这种方式会破坏使用RF的目的,并随机选择两个特征和样本的子集.你可能想要改变ntree. )
在训练之后,您可以从已经找到的混淆矩阵的最右侧列中获取每类错误:
> fit$confusion[, 'class.error']
class.error
No Yes
0.07804878 0.45405405
Run Code Online (Sandbox Code Playgroud)
(你也可能想设置options('digits'=3)为看不到那些过多的小数位)
至于将类错误列表(精度= 1 - 错误)转换为一个整体精度数,这很容易做到.您可以使用均值,类加权平均值,调和平均值(精度,而不是误差)等.这取决于您的应用程序和错误分类的相对惩罚.你的例子很简单,它只有两个类.
(或者有更复杂的评估者间协议)