ROC曲线看起来不正确

我使用ROCR包绘制了用于两个类别问题的ROC曲线。根据我的理解,至少对于较小的数据集,曲线应该呈现阶梯状变化。我的输入数据确实很小,但得到的曲线看起来几乎是直线。这是由于PROC在曲线上拟合了一条直线,还是我遗漏了其他原因?

输入数据在这里 点击这里,代码如下,ROC部分在最后。感谢您的帮助!

library("caret")library("ROCR")sensor6data_s10_2class <- read.csv("/home/sensei/clustering/sensor6data_f21_s10_with2Labels.csv")sensor6data_s10_2class <- within(sensor6data_s10_2class, Class <- as.factor(Class))sensor6data_s10_2class$Class2 <- relevel(sensor6data_s10_2class$Class,ref="1")set.seed("4321")inTrain_s10_2class <- createDataPartition(y = sensor6data_s10_2class$Class, p = .75, list = FALSE)training_s10_2class <- sensor6data_s10_2class[inTrain_s10_2class,]testing_s10_2class <- sensor6data_s10_2class[-inTrain_s10_2class,]y_s10 <- testing_s10_2class[,22]ctrl_s10_2class <- trainControl(method = "repeatedcv", number = 10, repeats = 10 , savePredictions = TRUE)model_train_multinom_s10_2class <- train(Class2 ~ ZCR + Energy + SpectralC + SpectralS + SpectralE + SpectralF + SpectralR + MFCC1 + MFCC2 + MFCC3 + MFCC4 + MFCC5 + MFCC6 + MFCC7 + MFCC8 + MFCC9 + MFCC10 + MFCC11 + MFCC12 + MFCC13, data = training_s10_2class, method="multinom", trControl = ctrl_s10_2class)pred_multinom_s10_2class = predict(model_train_multinom_s10_2class, newdata=testing_s10_2class)pred2_s10 <- prediction(as.numeric(as.character(pred_multinom_s10_2class)), as.numeric(as.character(y_s10)))perf2_s10 <- performance(pred2_s10, "tpr", "fpr")plot(perf2_s10,col='magenta',lwd=3)

回答:

您应该预测类别的概率而不是类别标签。试试这个:

pred_multinom_s10_2class = predict(model_train_multinom_s10_2class, newdata=testing_s10_2class, type='prob')pred2_s10 <- prediction(pred_multinom_s10_2class[,1], as.numeric(as.character(y_s10)))perf2_s10 <- performance(pred2_s10, "tpr", "fpr")plot(perf2_s10,col='magenta',lwd=3)

输入图片描述

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注