Почему я получаю другой график производительности для дерева, используя ROCR для отображения производительности при изменении avg = "threshold" на "none" - PullRequest
1 голос
/ 09 июня 2019

После создания простого дерева решений с использованием 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

Скриншоты разных графиков:

порог

нет

...