我想学习一罚逻辑回归分析法glmnet。 我试图预测,如果从mtcars例如数据的车将有一个自动变速器或手动。 我想,我的代码是非常简单的,但我似乎得到一个错误:
这个第一块简单地分割mtcars到80%的训练集和20%的测试集
library(glmnet)
attach(mtcars)
smp_size <- floor(0.8 * nrow(mtcars))
set.seed(123)
train_ind <- sample(seq_len(nrow(mtcars)), size=smp_size)
train <- mtcars[train_ind,]
test <- mtcars[-train_ind,]
我知道在x数据被认为是在没有响应的矩阵形式,所以两个训练集合分离成非响应矩阵(train_x)和响应向量(train_y)
train_x <- train[,!(names(train) %in% c("am"))]
train_y <- train$am
但是,试图训练模型时,
p1 <- glmnet(train_x, train_y)
我得到的错误:
Error in elnet(x, is.sparse, ix, jx, y, weights, offset, type.gaussian,
:(list) object cannot be coerced to type 'double'
我缺少的东西吗?