预测模型精度计算中capital_gain作为解释变量的作用疑问
问题:预测建模代码中
capital_gain变量的作用疑问 我正在学习某教材第10章的预测建模示例,在以下代码中,capital_gain被用作选择的变量,但移除它或替换为其他变量后,输出的估计值和混淆矩阵均无变化。请问该变量在此处存在的原因是什么?
library(yardstick) pred <- train %>% select(income, capital_gain) %>% #why 'capital_gain' is here? bind_cols( predict(mod_null, new_data = train, type = "class") ) %>% rename(income_null = .pred_class) accuracy(pred, income, income_null) confusion_null <- pred %>% conf_mat(truth = income, estimate = income_null) confusion_null
补充说明:使用的是UCI成人收入数据集。
回答
这是因为代码里用到的mod_null是空模型(null model)——这类模型完全不依赖任何解释变量,只会基于目标变量income的整体分布做预测(比如预测样本占比更高的类别)。
select(income, capital_gain)这一步只是从train数据中筛选出这两列,但后续绑定的预测结果完全由mod_null生成,和筛选出的capital_gain没有任何关联。不管你保留、移除还是替换这个变量,都不会影响空模型的预测输出,自然也不会改变准确率和混淆矩阵的结果。
至于这个变量出现在此处的原因,大概率是作者的演示失误,或是为了刻意展示“空模型完全不依赖解释变量”这一特性——哪怕看似引入了解释变量,只要模型本身不调用它,结果就不会产生变化。
内容的提问来源于Stack Exchange,提问作者Espejito
相关产品推荐
相关产品推荐

