小编spe*_*tra的帖子

使用ROCR包的R中的ROC曲线

有人可以解释一下如何用ROCR绘制ROC曲线.我知道我应该先跑:

prediction(predictions, labels, label.ordering = NULL)
Run Code Online (Sandbox Code Playgroud)

然后:

performance(prediction.obj, measure, x.measure="cutoff", ...)
Run Code Online (Sandbox Code Playgroud)

我不清楚预测和标签是什么意思.我创建了一个带有ctree和cforest的模型,我希望它们的ROC曲线最终能够进行比较.在我的例子中,class属性是y_n,我想这应该用于标签.但预测呢?以下是我所做的步骤(数据集名称= bank_part):

pred<-cforest(y_n~.,bank_part)
tablebank<-table(predict(pred),bank_part$y_n)
prediction(tablebank, bank_part$y_n)
Run Code Online (Sandbox Code Playgroud)

运行最后一行后,我收到此错误:

Error in prediction(tablebank, bank_part$y_n) : 
Number of cross-validation runs must be equal for predictions and labels.
Run Code Online (Sandbox Code Playgroud)

提前致谢!

这是另一个例子:我有训练数据集(bank_training)和测试数据集(bank_testing),我运行了一个randomForest,如下所示:

bankrf<-randomForest(y~., bank_training, mtry=4, ntree=2,    
keep.forest=TRUE,importance=TRUE) 
bankrf.pred<-predict(bankrf, bank_testing, type='response')
Run Code Online (Sandbox Code Playgroud)

现在bankrf.pred是一个因子对象,标签为c =("0","1").不过,我不知道如何绘制ROC,因为我会陷入预测部分.这就是我的工作

library(ROCR) 
pred<-prediction(bankrf.pred$y, bank_testing$c(0,1) 
Run Code Online (Sandbox Code Playgroud)

但这仍然是不正确的,因为我收到错误消息

Error in bankrf.pred$y_n : $ operator is invalid for atomic vectors
Run Code Online (Sandbox Code Playgroud)

r roc

22
推荐指数
3
解决办法
6万
查看次数

如何为 knn 模型绘制 ROC 曲线

我正在使用 ROCR 包,我想知道如何在 R 中为 knn 模型绘制 ROC 曲线?有没有办法用这个包来绘制这一切?

不知道怎么用knn的ROCR的预测功能。这是我的示例,我使用来自 UCI 存储库的 isolet 数据集,我将类属性重命名为 y:

cl<-factor(isolet_training$y)
knn_isolet<-knn(isolet_training, isolet_testing, cl, k=2, prob=TRUE)
Run Code Online (Sandbox Code Playgroud)

现在我的问题是,传递给 ROC 预测函数的参数是什么。我尝试了以下两种不起作用的替代方法:

library(ROCR)
pred_knn<-prediction(knn_isolet$y, cl)
pred_knn<-prediction(knn_isolet$y, isolet_testing$y)
Run Code Online (Sandbox Code Playgroud)

r knn roc

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

r ×2

roc ×2

knn ×1