从R glmnet对象获取预测类

时间:2012-02-18 22:56:42

标签: r regression glmnet

我正在尝试使用R中的glmnet构建简单的多类逻辑回归模型。但是当我尝试预测测试数据并获得列联表时,我得到一个错误。下面再现了一个示例会话。

> mat = matrix(1:100,nrow=10)
> test = matrix(1:50,nrow=5)

> classes <- as.factor(11:20)

> model <- glmnet(mat, classes, family="multinomial", alpha=1)
> pred <- predict(model, test)
> table(pred, as.factor(11:15))
  Error in table(pred, as.factor(11:15)) : 
  all arguments must have the same length

任何帮助将不胜感激。 R noob在这里。

感谢。

1 个答案:

答案 0 :(得分:6)

predict对象的glmnet方法要求您为参数s指定一个值,该值指示要为其预测的正则化参数的值。

glmnet同时适合此正则化参数的多个值的模型。)

因此,如果您没有为s指定值,predict.glmnet会返回所有值的预测值。如果您只想要一组预测,则需要在调用s时设置predict的值,或者需要在事后提取相关列。