【发布时间】:2017-04-28 17:05:14
【问题描述】:
我使用 randomForest 构建了一个文本分类器,因此为了评估它,我尝试使用 pROC 包创建 ROC 曲线。
这里是代码:
ndsi.forest <- randomForest(tf.idf[train.index, ], as.factor(train$Note.Reco[train.index]), ntree = 100)
#predict with test data
ndsi.pred <-predict(ndsi.forest, newdata = tf.idf[test.index, ], response = 'class')
pred <- data.frame(ndsi.pred)
result <- data.frame(id = Data_clean$id[test.index], sentiment = pred[ , ])
##"ROC curve"
multiclass.roc(result$sentiment, test$Note.Reco)
我想知道这是否是一种创建情节的方法?使用 pROC 包的 ROC 图?
我尝试使用此代码:
roc(test$Note.Reco, result$sentiment, levels = c(1,2,3,4,5,6,7,8,9,10))
但我收到此错误:
Error in roc.default(test$Note.Reco, result$sentiment, levels = c(1, 2, :
'levels' argument must have length 2
提前谢谢你
【问题讨论】:
-
你用过
plot.roc功能吗? cran.r-project.org/web/packages/pROC/pROC.pdf -
要表示
roc曲线,您需要两个向量:第一个是指响应变量(一个具有两个水平的因子),第二个是一个连续变量,表示每个变量的预测值样本。此外,您可以指定哪些是您的第一个参数的标签。它们只有两个,因为第一个输入是一个二分因子。那么,test$Note.Reco长什么样子? -
啊好的,我的响应变量是一个从0到10的值的向量,在这种情况下我该怎么办? ://
-
我有
result$sentiment : Factor of 11 levels "0,1,..10"和test$Note.Reco : int 6 3 6 7 8 10 0 1 2这种情况我该怎么办?谢谢