好吧,我正在做一个套索回归,但是我的Y学期有问题。 我知道x必须是矩阵,y必须是数值。 这是我那套的。但是我觉得我的模型运行不正常。我先告诉你我做了什么,然后我认为应该做什么(但不知道怎么做)。
所以我所做的如下。我在这个例子中使用了r的核数据集。
library(boot) data("nuclear") attach(nuclear) nuclear <- as.matrix(nuclear)
所以我把它转换成矩阵。然后我在x和y上使用矩阵。
CV = cv.glmnet(x=nuclear,y=nuclear, family="multinomial", type.measure = "class", alpha = 1, nlambda = 100)
但是我觉得我的y轴不对。我觉得我的因变量应该在那里。但我怎么才能做到呢?假设nuclear$pt是我的因变量。把核武器$pt换成y不起作用。
plot(CV) fit = glmnet(x=nuclear, y=nuclear, family = "multinomial" , alpha=1, lambda=CV$lambda.1se)
如果我运行这个,它觉得我的模型根本没有运行。可能是我的Y有点不对劲,但我不能用手指去碰它。
你对x和y使用相同的矩阵,你必须以某种方式分离自变量和因变量。例如,可以使用索引选择变量:
cv.glmnet(x=nuclear[, 1:10],y=nuclear[, 11], family="binomial", type.measure = "class", alpha = 1, nlambda = 100)
这将使用nuclear的前10列作为自变量,第11列作为因变量。