如何统计LASSO特征选择算法选中的正确回归模型数量?
统计LASSO回归正确模型数量需求
任务说明
- 用R语言
elasticnet包的enet函数对5.8万个CSV数据集执行LASSO回归后,统计拟合结果与真实底层模型完全匹配的模型数量。 - 相关数据集及R脚本可在本地项目仓库获取。
- 已将LASSO选中的变量导出为
IVs_Selected_by_LASSO.csv,导入至R脚本Quantifying LASSO's performance并赋值为BM1_models对象。
BM1_models数据结构
该数据框包含58000行、1列,列V1的内容格式为「数据集文件名; LASSO选中变量列表」(分号后有两个空格),具体示例及结构如下:
> BM1_models <- read.csv("IVs_Selected_by_LASSO.csv", header = FALSE) > head(BM1_models, n = 3) V1 1 0-3-1-1; X1, X2, X3 2 0-3-1-2; X1, X2, X3 3 0-3-1-3; X1, X2, X3 > tail(BM1_models, n = 3) V1 57998 1-15-9-498; X2, X3, X5, X6, X8, X9, X10, X11, X12, X15 57999 1-15-9-499; X3, X4, X5, X6, X8, X10, X11, X12, X15 58000 1-15-9-500; X2, X4, X6, X7, X8, X10, X11 > str(BM1_models) 'data.frame': 58000 obs. of 1 variable: $ V1: chr "0-3-1-1; X1, X2, X3" "0-3-1-2; X1, X2, X3" "0-3-1-3; X1, X2, X3" "0-3-1-4; X1, X2, X3" ...
模型正确性判断标准
数据集文件名格式为n1-n2-n3-n4,真实底层模型由其中的n2值决定:
- 当
n2=3时,真实模型变量必须是X1,X2,X3 - 当
n2=4时,真实模型变量必须是X1,X2,X3,X4 - ...
- 当
n2=15时,真实模型变量必须是X1至X15 - 只有LASSO选中的变量与对应真实模型完全一致时,才算正确模型,其余情况均为错误。
内容的提问来源于stack exchange,提问作者Marlen
相关产品推荐
相关产品推荐

