R ROC曲线使用C5.0模型

时间:2015-07-06 21:49:47

标签: r roc

我在应用ROCR库的方法性能方面遇到了一些困难。

#EX1
model <- glm(Good.Loan ~ ., data=trainSet, family=binomial(link="logit"))
testSet$predGood.Loan <- predict(model,newdata=testSet)
pred <- prediction(predictions = testSet$predGood.Loan, labels =
testSet$Good.Loan)
perf <- performance(pred, measure = "tpr", x.measure = "fpr")

#EX2
model <- C5.0(CostumerClass ~ ., data = trainSet)
predictedCostumerClass<- predict(model , testSet)
pred <- prediction(predictions = predictedCostumerClass, labels =
testSet$CostumerClass)
perf <- performance(pred, measure = "tpr", x.measure = "fpr")

Ex1中,我使用广义线性模型构建模型,然后应用性能方法。没关系。当我尝试使用c5.0模型使用相同的东西时,我收到错误

  

预测格式无效。

我能找到的最近的帮助是this article

我无法找到性能方法所需的格式,或者我的预测还需要其他格式。

1 个答案:

答案 0 :(得分:1)

默认情况下,C5.0模型将返回predict的类标签(离散值),而glm模型返回链接函数的值(连续值)。您需要连续值来制作ROC曲线,以便您可以尝试不同的切割点。您可以通过模型预测概率,而不是预测类别。

predictedCostumerClass <- predict(model , testSet, type="prob")