我开始涉足使用glmnet
LASSO回归,我感兴趣的结果是二分法的。我在下面创建了一个小的模拟数据框:
age <- c(4, 8, 7, 12, 6, 9, 10, 14, 7)
gender <- c(1, 0, 1, 1, 1, 0, 1, 0, 0)
bmi_p <- c(0.86, 0.45, 0.99, 0.84, 0.85, 0.67, 0.91, 0.29, 0.88)
m_edu <- c(0, 1, 1, 2, 2, 3, 2, 0, 1)
p_edu <- c(0, 2, 2, 2, 2, 3, 2, 0, 0)
f_color <- c("blue", "blue", "yellow", "red", "red", "yellow", "yellow",
"red", "yellow")
asthma <- c(1, 1, 0, 1, 0, 0, 0, 1, 1)
# df is a data frame for further use!
df <- data.frame(age, gender, bmi_p, m_edu, p_edu, f_color, asthma)
上述数据集中的列(变量)如下:
age
(孩子的年龄) - 连续gender
- 二进制(1 = 男性;0 = 女性)bmi_p
(BMI百分位数) - 连续m_edu
(母亲最高教育水平)- 序数(0 = 高中以下;1 = 高中文凭;2 = 学士学位;3 = 学士学位后学位)p_edu
(父亲最高学历) - 序数(与 m_edu 相同)f_color
(最喜欢的原色)- 标称(“蓝色”、“红色”或“黄色”)asthma
(儿童哮喘状态)- 二元(1 = 哮喘;0 = 无哮喘)
此示例的目标是利用 LASSO 从 6 个潜在预测变量(age
、gender
、bmi_p
、m_edu
、p_edu
和f_color
)的列表中创建预测儿童哮喘状态的模型。显然,这里的样本量是一个问题,但我希望能更深入地了解glmnet
当结果是二元(1 = 哮喘)时如何在框架内处理不同类型的变量(即连续、有序、名义和二元) ; 0 = 无哮喘)。
因此,是否有人愿意提供示例R
脚本以及使用 LASSO 和上述数据预测哮喘状态的模拟示例的解释?虽然非常基础,但我知道我,可能还有很多其他 CV 上的人,将不胜感激!