【发布时间】:2022-01-18 08:02:52
【问题描述】:
我有 200 万人的人口和 700 个变量(有许多 null、零或 -9999),我为此开发了一个 python 模型,其工作原理如下
我生成了整个人口和变量的数据框
我取出不需要的变量(例如ID,姓名)
我对数据进行分区并用ks_2samp (scipy.stats)计算其指标,然后过滤那些指标非常低的指标(roc,ks)
然后,我取所有变量的相关性并再次过滤。
在此之后,我使用 Xgboost 生成模型。使用shap.TreeExplainer,我得到了最终留在我的模型中的所有变量的重要性(大约 90 个变量)
虽然我减少了变量的数量,但还是太多了。有谁知道有什么方法可以继续删除变量?我的想法是获取多达 30 个变量。
【问题讨论】:
标签: python python-3.x xgboost roc