Хотя каретка считает первый из уровней положительным классом, как видно при использовании
confusionMatrix(..., reference=GermanCredit$Class)
РПЦЗ считает более поздний уровень положительным классом. Логика заключается в том, что 1
является положительным классом, а 0
отрицательным, и, поскольку 0 < 1
и "Bad" < "Good"
, ROCR считает "Good"
положительным классом здесь.
Решением является использование явного порядка:
pred = prediction(GermanCredit$perfect_prob, GermanCredit$Class, label.ordering = c("Good", "Bad")
perf = performance(pred, "tpr", "fpr")
Теперь "Good" < "Bad"
и "Bad"
считается положительным классом prediction
.