r - 堆叠模型上的 ROCR 曲线
问题描述
我正在做一个堆叠模型,我想使用 ROCR 库找到它的 ROC 曲线和 RAUC(曲线区域下的接收器),但不幸的是,roc 曲线显示了一个奇怪的图形这是到目前为止的代码
library(caretEnsemble)
control <- trainControl(method="repeatedcv", number=10, repeats=3, savePredictions=TRUE,
classProbs=TRUE,preProc=c("center","scale"))
algorithmList <- c( 'rpart', 'knn', 'nb')
set.seed(seed)
models <- caretList(Revenue~., data=training, trControl=control, methodList=algorithmList)
results <- resamples(models)
summary(results)
dotplot(results)
bwplot(results)
这将导致
Models: rpart, nb, knn
Number of resamples: 30
Accuracy
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
rpart 0.7714286 0.8539916 0.8873016 0.8803097 0.9142857 0.9714286 0
nb 0.7777778 0.8865079 0.9142857 0.9137333 0.9428571 1.0000000 0
knn 0.7647059 0.8055556 0.8431373 0.8450825 0.8857143 0.9166667 0
Kappa
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
rpart 0.4776119 0.6618591 0.7490016 0.7345538 0.8127266 0.9378330 0
nb 0.5485893 0.7595388 0.8059150 0.8126149 0.8779422 1.0000000 0
knn 0.3928571 0.5363648 0.6353245 0.6327338 0.7329892 0.8098592 0
将模型与最佳相关性结合起来
set.seed(seed)
stack.glm <- caretStack(models, method="knn", metric="Accuracy", trControl=stackControl)
print(stack.glm)
计算 ROC 曲线
library(ROCR)
lda.model <- predict(stack.glm,newdata = testing,type = 'prob')
lda.pre <- prediction(as.numeric(lda.model),as.numeric( testing$Revenue))
evl1 <- performance(lda.pre,"acc")
plot(evl1)
解决方案
推荐阅读
- oracle - Apex 5 显示穿梭存储的数据以分号分隔,以列表形式
- php - Ubuntu 中的希腊文(首字母)文件名错误
- javascript - 在 vuejs 中传递 props 数据
- c# - 如何 LINQ 列表
- > 并使用 SelectMany 将其展平?
- django - 父模型的序列化,包括子模型
- typescript - 打字稿:typeof签入列表项不起作用
- java - 如何使用 Windows 的高 DPI 缩放运行 Java 应用程序?
- ios - react native如何控制何时在IOS中提示用户推送通知权限
- templates - Golang 模板使用相对路径失败
- python - 在循环中仅绘制 1 个箭头