Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何使用带有分类变量和连续变量的套索来预测连续变量?_R_Categorical Data_Lasso Regression - Fatal编程技术网

R 如何使用带有分类变量和连续变量的套索来预测连续变量?

R 如何使用带有分类变量和连续变量的套索来预测连续变量?,r,categorical-data,lasso-regression,R,Categorical Data,Lasso Regression,我有一个数据库,它有5000个观察值(行)和40个变量(列)。分类变量的数量为25,连续变量的数量为15。我想使用一个回归模型来预测一个连续变量,使用分类和连续预测(变量)。此外,考虑使用LasSO算法(GLMNET()从包GLMNET中进行一种特征选择,以防止使用所有的变量作为预测因子,只使用其中的一部分,它们是由LasSO(重要的)决定的。 我的问题是lasso如何处理分类变量? 我应该将数据帧转换为矩阵,因为glmnet()以矩阵类型获取数据。当我将其转换为矩阵时,所有列的类都将更改为ch

我有一个数据库,它有5000个观察值(行)和40个变量(列)。分类变量的数量为25,连续变量的数量为15。我想使用一个回归模型来预测一个连续变量,使用分类和连续预测(变量)。此外,考虑使用LasSO算法(GLMNET()从包GLMNET中进行一种特征选择,以防止使用所有的变量作为预测因子,只使用其中的一部分,它们是由LasSO(重要的)决定的。 我的问题是lasso如何处理分类变量? 我应该将数据帧转换为矩阵,因为glmnet()以矩阵类型获取数据。当我将其转换为矩阵时,所有列的类都将更改为character。但正如你所知,我需要一些列是分类的,一些是连续的。我应该如何解决这个问题

换言之,如何对具有一些分类变量和一些连续变量的数据进行回归模型和套索作为特征选择来预测连续变量

我创建一个数据库作为玩具数据:

a <- sample(1000:1000000 , 60 , replace = T)
b <- sample(50000:100000000 , 60 , replace = T )
c <- sample(1:90 , 60 , replace = T)
d <- c("accident" , "injury" , "surgical" , "poison")
d <- rep(d , 15 )
e <- paste(letters[1:6] , "#" , sep="")
e <- rep(e, 10)
x <- cbind(a,b,c,d,e)
data.toy <- as.data.frame(x) 
head(data.toy)
data.toy$a <- as.numeric(data.toy$a)
data.toy$b <- as.numeric(data.toy$b)
data.toy$c <- as.numeric(data.toy$c)

a这看起来像是一个编程问题。我相信您正在寻找的答案在这里的公认答案中(使用
model.matrix
)这看起来像是一个编程问题。我相信您正在寻找的答案在这里的公认答案中(使用
model.matrix