2017-11-30 18 views
0

私は、分類ツリーを使用して行った予測のROCカーブを捨てようとしていました。問題なく曲線をプロットした後、Rはアブラインを追加しません。RStudioを使用してROCカーブにアブラインを追加する問題

データは以下のようになります。

head(so) 
post.test.score messages forum.posts level.up 
1   0.37  68   7  no 
2   0.52  83   22  yes 
3   0.42  81   7  no 
4   0.56  94   14  yes 
5   0.25  42   11  no 
6   0.35  60   11  no 

私が最初に分類ツリーを作成し、level.upの値を受信する確率を表す確率値を生成するには、この木を使用しました。私はROC曲線を描き、ablineを追加するようになったとして

c.tree1 <- rpart(level.up~post.test.score+messages+forum.posts, data=so, method="class") 
so$pred <- predict(c.tree1, so, type = "prob")[,2] 

は、私は同様の問題を持つ回帰に関するいくつかの記事を読んでエラー

library(ROCR) 

pred.detail <- prediction(so$pred, so$level.up) 
plot(performance(pred.detail, "tpr", "fpr")) 
abline(0, 1, lty = 2) 
Error in int_abline(a = a, b = b, h = h, v = v, untf = untf, ...): 
    plot.new has not been called yet 

を受け、ことを実現します私の問題は予測自体にあるかもしれませんが、私はそれを理解することができませんでした。アブラインを追加するにはどうすればよいですか?

答えて

0

すべてのコードを実行しましたか?

私はあなたが提供されたデータに基づいてデータフレームを再作成し、私はすべてのコードを実行した:それはあなたが探しているものかどう

library(ROCR) 
library(rpart) 
so <- data.frame(post.test.score=c(0.37,0.53,0.42,0.56,0.25,0.35), 
       messages=c(68,83,81,94,42,60), 
       forum.posts=c(7,22,7,14,11,11), 
       level.up=c('no','yes','no','yes','no','no')) 
c.tree1 <- rpart(level.up~post.test.score+messages+forum.posts, data=so, method="class") 
so$pred <- predict(c.tree1, so, type = "prob")[,2] 


pred.detail <- prediction(so$pred, so$level.up) 
plot(performance(pred.detail, "tpr", "fpr")) 
abline(0, 1, lty = 2) 

はここで、出力です:

IMAGE1

関連する問題