我正试图为我的glmnet
回归模型绘制ROC曲线。为了做到这一点,我试图在预测函数中使用type = "response"进行预测:
pred_glmnet_s10_2class <- predict(model_train_glmnet_s10_2class,
newdata=testing_s10_2class,
s = "model_train_glmnet_s10_2class$finalModel$lambdaOpt",
type="response")
,得到以下错误:
预测错误。训练(model_train_glmnet_s10_2class, newdata = testing_s10_2class,:类型必须为"raw"或"prob"
我的预测和类标签是二进制0和1,并已被分解。任何帮助都非常感谢。另外,关于如何绘制AUC (ROC曲线下的面积)与特征数量有什么想法吗?谢谢!
假设model_train_glmnet_s10_2class
是由train
生成的(显示代码将有所帮助)…
使用predict(model_train_glmnet_s10_2class)
即使用predict.train
,使用由train
自动确定的最优lambda值。如果你想要概率,只需使用type = "prob"
。
语法与predict.glmnet
一致,而与predict.train
不一致。
正如文档中所说,直接使用model_train_glmnet_s10_2class$finalModel
进行预测是一个非常糟糕的主意