好的,我正在进行LASSO回归,但我的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轴不正确。我觉得我的因变量应该在那里。但我怎么能在那里得到它?假设核$ pt是我的因变量。将核$ pt用于Y不起作用。
plot(CV)
fit = glmnet(x=nuclear, y=nuclear, family = "multinomial" , alpha=1, lambda=CV$lambda.1se)
如果我然后运行它,感觉我的模型根本没有运行。我的Y可能会错过一些东西,但我不能把手指放在上面。
答案 0 :(得分:3)
您对x和y使用了相同的矩阵。你必须以某种方式分离独立变量和因变量。例如,您可以使用索引来选择变量:
cv.glmnet(x=nuclear[, 1:10],y=nuclear[, 11], family="binomial",
type.measure = "class", alpha = 1, nlambda = 100)
这将使用前10列核作为自变量,第11列作为因变量。