我正在尝试使用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在这里。
感谢。
答案 0 :(得分:6)
predict
对象的glmnet
方法要求您为参数s
指定一个值,该值指示要为其预测的正则化参数的值。
(glmnet
同时适合此正则化参数的多个值的模型。)
因此,如果您没有为s
指定值,predict.glmnet
会返回所有值的预测值。如果您只想要一组预测,则需要在调用s
时设置predict
的值,或者需要在事后提取相关列。