我使用glm
模型与caret
包的交叉验证(10倍)。我想删除模型的非重要变量,例如TX_RESP_Q108B
,TX_RESP_Q108C
,TX_RESP_Q065.Q
等。
tc <- trainControl("cv", 10, savePredictions = T, classProbs = T)
fit1 <- train(response~., data = my_data, method = "glm", family = "binomial", trControl = tc)
Call:
NULL
Deviance Residuals:
Min 1Q Median 3Q Max
-1.3268 -0.6676 -0.5238 -0.3620 3.0841
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -3.507239 0.171328 -20.471 < 2e-16 ***
ID_TURNO2 -0.412723 0.024630 -16.757 < 2e-16 ***
ID_TURNO3 -2.089175 0.234093 -8.925 < 2e-16 ***
TX_RESP_Q089B 0.452723 0.047093 9.613 < 2e-16 ***
TX_RESP_Q108B -0.001968 0.330746 -0.006 0.99525
TX_RESP_Q108C 0.220013 0.222716 0.988 0.32322
TX_RESP_Q108D 0.371279 0.178481 2.080 0.03751 *
TX_RESP_Q108E 0.115137 0.164007 0.702 0.48266
TX_RESP_Q108F 0.301288 0.162907 1.849 0.06439 .
TX_RESP_Q079B 0.410358 0.027035 15.179 < 2e-16 ***
TX_RESP_Q005.L 0.558060 0.047220 11.818 < 2e-16 ***
TX_RESP_Q005.Q 0.090621 0.036774 2.464 0.01373 *
TX_RESP_Q005.C -0.144208 0.029758 -4.846 1.26e-06 ***
`TX_RESP_Q005^4` -0.015192 0.023936 -0.635 0.52563
TX_RESP_Q078B 0.400272 0.046226 8.659 < 2e-16 ***
TX_RESP_Q009B 0.035596 0.131552 0.271 0.78671
TX_RESP_Q009C -0.072846 0.150077 -0.485 0.62740
TX_RESP_Q009D 0.270092 0.028457 9.491 < 2e-16 ***
TX_RESP_Q009E 0.184751 0.033084 5.584 2.35e-08 ***
TX_RESP_Q009F 0.118077 0.066456 1.777 0.07561 .
TX_RESP_Q070B 0.483582 0.026233 18.434 < 2e-16 ***
TX_RESP_Q013.L -0.142476 0.069901 -2.038 0.04152 *
TX_RESP_Q013.Q -0.096416 0.056399 -1.710 0.08735 .
TX_RESP_Q013.C 0.075822 0.052626 1.441 0.14965
`TX_RESP_Q013^4` 0.089282 0.049417 1.807 0.07081 .
`TX_RESP_Q013^5` -0.039960 0.041490 -0.963 0.33550
`TX_RESP_Q013^6` 0.084890 0.031894 2.662 0.00778 **
TX_RESP_Q048.L 0.569328 0.063179 9.011 < 2e-16 ***
TX_RESP_Q048.Q -0.016526 0.057944 -0.285 0.77548
TX_RESP_Q048.C 0.112465 0.052459 2.144 0.03204 *
TX_RESP_Q107B 0.167977 0.275342 0.610 0.54182
TX_RESP_Q107C -0.084265 0.198600 -0.424 0.67135
TX_RESP_Q107D 0.017702 0.159386 0.111 0.91156
TX_RESP_Q107E 0.225705 0.146949 1.536 0.12455
TX_RESP_Q107F 0.253538 0.146698 1.728 0.08394 .
TX_RESP_Q062.L -0.027898 0.104988 -0.266 0.79045
TX_RESP_Q062.Q 0.054648 0.076644 0.713 0.47584
TX_RESP_Q062.C -0.021481 0.044358 -0.484 0.62819
TX_RESP_Q045B 0.348216 0.071149 4.894 9.87e-07 ***
TX_RESP_Q045C 0.118404 0.071593 1.654 0.09816 .
TX_RESP_Q045D -0.067446 0.077291 -0.873 0.38287
TX_RESP_Q058B 0.073366 0.076204 0.963 0.33567
TX_RESP_Q058C 0.095275 0.081153 1.174 0.24039
TX_RESP_Q058D 0.167319 0.085421 1.959 0.05014 .
TX_RESP_Q059B -0.206194 0.103281 -1.996 0.04589 *
TX_RESP_Q059C -0.185812 0.105676 -1.758 0.07869 .
TX_RESP_Q059D -0.098488 0.108455 -0.908 0.36383
TX_RESP_Q060B 0.273180 0.060671 4.503 6.71e-06 ***
TX_RESP_Q060C 0.368747 0.063615 5.797 6.77e-09 ***
TX_RESP_Q060D 0.396086 0.067710 5.850 4.92e-09 ***
TX_RESP_Q061B 0.066926 0.087237 0.767 0.44298
TX_RESP_Q061C -0.006212 0.092005 -0.068 0.94617
TX_RESP_Q061D 0.012422 0.096713 0.128 0.89780
TX_RESP_Q063.L 0.024938 0.098261 0.254 0.79965
TX_RESP_Q063.Q 0.070767 0.071592 0.988 0.32291
TX_RESP_Q063.C -0.040853 0.042945 -0.951 0.34146
TX_RESP_Q065.L -0.039285 0.051561 -0.762 0.44612
TX_RESP_Q065.Q 0.019015 0.036056 0.527 0.59792
TX_RESP_Q065.C 0.025068 0.025339 0.989 0.32252
TX_RESP_Q067B -0.075401 0.093803 -0.804 0.42150
TX_RESP_Q067C -0.108572 0.093832 -1.157 0.24724
TX_RESP_Q067D -0.038972 0.094387 -0.413 0.67969
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 52275 on 56144 degrees of freedom
Residual deviance: 48930 on 56083 degrees of freedom
AIC: 49054
Number of Fisher Scoring iterations: 6
f2 <- update(f~., TURMA_PROFICIENTE~ID_TURNO + TX_RESP_Q089B + TX_RESP_Q108D)
fit2 <- train(f2, data = dados, method = "glm", family = "binomial", trControl = tc)
#Error mensage
Error in eval(expr, envir, enclos) : object 'TX_RESP_Q089B' not found
答案 0 :(得分:0)
这可能是一个坏主意(如上所述)。您可能不应该考虑单个模型拟合,找出使用相同数据的重要性,并消除术语。这是一种自我实现的预言。
您似乎拥有大量数据,这有助于将风险降至最低,但我会使用caret
sbf
函数来执行内部的功能选择/ em>交叉验证以删除功能。这有助于保护您免受selection bias的侵害,并为您提供诚实的绩效估算。