【问题标题】:glmnet: Convert predicted probabilities to predicted classesglmnet:将预测概率转换为预测类
【发布时间】:2017-11-14 12:29:10
【问题描述】:

我使用 泊松分布 运行 cv.glmnet 以获得二元结果。 predict 函数返回预测概率,但不返回预测类别。如何将概率转换为类,以便生成confusionMatrix 来确定 AUC 等? 注意。至少有一个预测概率 > 1。

cv <- cv.glmnet(deriv.x, deriv.y, foldid = foldid, weights = wts, family = "poisson")
pred <- predict.cv.glmnet(cv, newx = valid.x, s = "lambda.min", "response")
confusionMatrix(pred, valid.y)
Error in confusionMatrix.default(pred, valid.y) : 
  the data cannot have more levels than the reference

【问题讨论】:

  • 检查 this 了解为什么对二进制数据使用泊松回归是个坏主意

标签: r glmnet


【解决方案1】:

这是因为你返回的是概率,而不是类,所以试试吧:

cv <- cv.glmnet(deriv.x, deriv.y, foldid = foldid, weights = wts, family = "poisson")
pred <- predict.cv.glmnet(cv, newx = valid.x, s = "lambda.min", "response")

pred <- ifelse(pred > 0.5,1,0) 

confusionMatrix(pred, valid.y)

您可以选择自己的四舍五入值。

【讨论】:

    猜你喜欢
    • 2019-09-16
    • 1970-01-01
    • 2015-05-14
    • 2016-05-23
    • 2015-09-29
    • 1970-01-01
    • 2022-07-22
    • 2013-08-24
    相关资源
    最近更新 更多