r - 使用 glmnet 的逻辑回归 - 输入数据的结构
问题描述
我正在尝试将 Ridge 和 Lasso 回归应用于逻辑回归模型,并且正在努力理解 x 和 y 输入所需的结构。我对 R 很陌生,所以很抱歉,我希望这很清楚。我相信我们正在使用 x 中的列中的值来预测 y 中的结果
对于 x 我有七列,每列都是分类数据(作为因素)。整个 x 是一个数据框,包含 7 个变量的 9000 个观测值,每个变量都是一个具有不同水平的因子。这出现在数据下的环境中
对于 y,它是一组结果 - “0”或“1” - 在环境中显示为 Values,表示 y 是一个因子,包含 2 个级别“0”“1”,也有 9000 个值
努力找出“结构 x 和 y 需要是什么才能使以下内容适用于逻辑模型”
alpha0.fit <- cv.glmnet(x, y , type.measure="deviance", alpha=0, family="binomial")
感激地收到任何想法或建议。
解决方案
您可以使用评论中建议的虚拟编码,或者您可以使用glmnetUtils
它来处理这个问题:
library(glmnetUtils)
x = data.frame(x1 = sample(c("A","B","C"),9000,replace=TRUE),
x2 = sample(c("D","E"),9000,replace=TRUE),
x2 = sample(c("F","G","H"),9000,replace=TRUE)
)
y = factor(sample(0:1,9000,replace=TRUE))
fit = cv.glmnet(y ~ .,data=data.frame(x,y),family="binomial",alpha=0)
推荐阅读
- php - 如何适配 PHP CSV utf-8?
- python - 如何使用 ColumnTransformer 和 OrdinalEncder 进行转换?
- java - 在根项目中找不到任务“sonarqube”
- php - 有没有办法在 Symfony 上自动清除缓存?
- javascript - 计算球到达目的地所需时间的公式,球的 xy 在时间循环中更新
- caching - Apache Ignite 缓存大小限制
- angular - Angular 更新后,工厂不会从提供者返回值
- javascript - 从 iframe 重定向时,在 React App 中恢复相同的状态
- sql - SQL 子查询中的“未处理的表达式类型”
- r - 分组数据帧上的窗口函数在过滤后获得两行之间的差异