创建为glmnet(lasso(创建虚拟变量
我有数据集:
SalesPrice SqFeet Beds Baths AirCond Garage Pool Year Quality Style Lot Highway
1: 360.0 3.032 4 4 1 2 0 1972 2 1 22.221 0
2: 340.0 2.058 4 2 1 2 0 1976 2 1 22.912 0
3: 250.0 1.780 4 3 1 2 0 1980 2 1 21.345 0
4: 205.5 1.638 4 2 1 2 0 1963 2 1 17.342 0
5: 275.5 2.196 4 3 1 2 0 1968 2 7 21.786 0
我想创建一个模型:
model.lm2 <- glmnet(x = xvars,y = df[,SalesPrice],alpha = 1,family = 'gaussian',lambda = CV$lambda.1se)
但是,就我而言,我具有因子变量"样式",如果我不将其更改为虚拟变量,则glmnet函数将与数字变量一样使用。
那么,如何通过model.matrix?
您可以使用我的glmnetutils软件包,这将为您提供所有这些。它还不在克兰(Cran(上,但应该很快就会出现。同时,使用DevTools从GitHub存储库中安装它。
devtools::install.github("hong-revo/glmnetUtils")
library(glmnetUtils)
model.lm2 <- glmnet(SalesPrice ~ ., data=df)