当将avg =“ Threshold”更改为“ none”时,为什么使用ROCR获得Tree的其他性能图

时间:2019-06-09 17:33:54

标签: r roc rpart

使用rpart创建简单的决策树后,我想使用ROCR绘制性能。当我更改avg =参数时,ROC的曲线发生了显着变化。

当我使用相同的方法并更改GLM模型的性能绘制时,没有任何变化。为什么此参数仅影响树图以及以哪种方式起作用。

# create tree model
bsprp <- mean(df.sub.train$y)
target <- y_fact ~ age + gender + a + b + c + d

m.dt <- rpart(target, 
          data = df.sub.train, 
          parms=list(prior=c(bsprp,1-bsprp)), cp=0.005)


# predict on df.sub.vld
dt.predicted <- predict(m.dt, newdata = df.sub.vld)

dt.pred <- prediction(dt.predicted[,2],df.sub.vld$y)
dt.perf <- performance(dt.pred, "tpr", "fpr")

# plot performance 
plot(dt.perf, avg= "threshold", col="red", lwd= 2, main= "ROC curve")
abline(0, 1, untf = FALSE, col = "lightgray", lty = 2)

# vs

plot(dt.perf, avg= "none", col="red", lwd= 2, main= "ROC curve")
abline(0, 1, untf = FALSE, col = "lightgray", lty = 2)

使用的数据集示例:

   y_fact y      age gender bf2          a             b          c
5       1 1 71.11233   Male  40          6             0          0
10      1 1 51.83836   Male  11          5             3          0
13      1 1 70.14521 Female   7          3             1          0
15      1 1 40.00548   Male  64          6             0          0
16      1 1 55.81096   Male  55          8             1          0
19      1 1 54.45479   Male  13          3             1          0

不同情节的屏幕截图:

threshold

none

0 个答案:

没有答案