我正在查看具有一个连续独立变量(Quant)和一个二进制因变量(二进制)的数据集。我用一个多项式模型来预测连续自变量的二进制值。我希望能制作ROC曲线。这是下面的代码:R中的ROCR预测函数返回错误消息
mymodel <- multinom(Quant~., data = dataset)
pred <- predict(mymodel,dataset)
roc_pred <- prediction(pred,dataset$Binary)
roc <- performance(roc_pred,"tpr","fpr")
现在,如果我运行此代码,我收到以下错误信息:“预测的格式是无效的。”我不确定为什么我的预测对象不能满足预测函数的要求?这将工作的唯一方法是,如果我把以下代码行,而不是: pred <- predict(mymodel,dataset,type="prob")
但是,这是让我在pred矩阵一些奇怪的值。由于我的因变量是二进制的,我期望在pred变量中得到0或1的值(这是我用原始代码行得到的),但是当我添加type =“prob”时,它给出对于自变量(Quant)等于0的所有观测值,我是0.3的值。什么是type =“prob”的改变,为什么我不能使用原始代码行来获得我的ROC曲线? 谢谢。
如果您提供样本输入数据的[可重现示例](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example),则更容易提供帮助,所以我们可以运行并测试你的代码。 – MrFlick
想通了!原因是由于Excel导入的某些错误,我的因变量未被归类为数值变量。问题不是预测函数......它实际上是回到多项式模型 – Byakko