如何解决弹性回归零方差问题
我有一个数据集,其中删除了零方差因子。但是,当我对其进行弹性回归时,它一直告诉我有零方差变量。它似乎将表扩展为二进制表 - 因此每个变量的每个因子都有自己的列。但在某些情况下,它们都会为零。
这是 mtcars 数据的代码:
'''Input_data <- mtcars
set.seed(100)
index = sample(1:nrow(Input_data),0.7*nrow(Input_data))
train = Input_data[index,] # Create the training data
test = Input_data[-index,] # Create the test data
# Set training control
train_cont <- trainControl(method = "repeatedcv",number = 10,repeats = 5,search = "random",verboseIter = TRUE)
# Train the model
elastic_reg <- train(Formula,data = train,method = "glmnet",preProcess = c("center","scale"),tuneLength = 10,trControl = train_cont)
y_hat_enet <- as.data.frame(predict(elastic_reg,Input_data))'''
这工作正常,但我的数据存在问题 - 套索和脊都工作正常。抱歉,我无法分享我的数据或举一个无法正常工作的示例,只是想之前有人可能遇到过这种情况。
这是我收到的错误仅供参考:
警告 preProcess.default(thresh = 0.95,k = 5,freqCut = 19,uniqueCut = 10,:
这些变量具有零个方差:f_CATEGORY_CAUSE.AHJ,f_CATEGORY_CAUSE.BUR,f_CATEGORY_CAUSE.DOG,f_CATEGORY_CAUSE.EBD,f_CATEGORY_CAUSE.EQU,f_CATEGORY_CAUSE.ESW,f_CATEGORY_CAUSE.EXP,f_CATEGORY_CAUSE.HIJ,f_CATEGORY_CAUSE.IMP,f_CATEGORY_CAUSE.INJ,f_CATEGORY_CAUSE.LIG, f_CATEGORY_CAUSE.LOS,f_CATEGORY_CAUSE.LRA,f_CATEGORY_CAUSE.PSD,f_CATEGORY_CAUSE.ROB,f_CATEGORY_CAUSE.SNO,f_CATEGORY_CAUSE.SUB,f_airbag_deployed.HOME,f_gender.HOME,f_incident_region.B3_VIC_REM,f_incident_region.C4_QLD_OTHER,f_DAMAGE_SEVERITY.HOME,f_towed.HOME,f_body_style。敞篷车,f_body_style.Hardtop,f_body_style.HOME,f_body_style.MOTOR_HOME,f_body_style.Roadster,f_body_style.TRAYTOP,f_VALUE_CHOICE.HOME,f_claim_descr.IMPACT,f_claim_descr.LEAKY_ROOF,f_claim_descr,AK,f_claim_descr.stolow_descr.stolow_descr. },f_SUM_OUTSURED_GROUP.L: $200,001 to $250,000
,f_SUM_OUTSURED_GROUP.M: $250,001 to $300,`f_SUM_OUTSURED_GROUP.O: [...被截断]
这里是我正在关注的代码的链接:https://www.datacamp.com/community/tutorials/tutorial-ridge-lasso-elastic-net
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。