繁体   English   中英

从randomForest分类的ROC曲线

[英]ROC curve for classification from randomForest

我在R平台上使用randomForest包进行分类任务。

rf_object<-randomForest(data_matrix, label_factor, cutoff=c(k,1-k))

其中k的范围为0.1至0.9。

pred <- predict(rf_object,test_data_matrix)

我有随机森林分类器的输出,我将它与标签进行了比较。 因此,我有9个截止点的准确度,MCC,灵敏度,特异性等性能指标。

现在,我想绘制ROC曲线并获得ROC曲线下的面积,看看性能有多好。 R中的大多数包(如ROCR,pROC)需要预测和标记,但我有灵敏度(TPR)和特异性(1-FPR)。

任何人都可以建议我,如果截止方法是正确的还是可靠的,以产生ROC曲线? 您是否知道使用TPR和FPR获得ROC曲线和曲线下面积的方法?

我还尝试使用以下命令来训练随机森林。 这样预测是连续的,并且R中的ROCRpROC包可以接受。但是,我不确定这是否是正确的方法。 任何人都可以向我推荐这种方法吗?

rf_object <- randomForest(data_matrix, label_vector)
pred <- predict(rf_object, test_data_matrix)

感谢您抽出宝贵时间阅读我的问题! 我花了很长时间冲浪。 感谢您的建议/意见。

你为什么不输出类概率? 这样,您就可以对预测进行排名,并且可以直接将其输入到任何ROC包中。

m = randomForest(data_matrix, labels)
predict(m,newdata_matrix,type='prob')

请注意,要使用randomForest作为分类工具, labels必须是因子的向量。

暂无
暂无

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

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