竞赛中如何做特征工程
共 824字,需浏览 2分钟
·
2021-09-18 15:01
对话1:特征工程流程
竞赛小白
在参加结构化比赛时,做特征工程时候,是先筛选特征,还是先做特征编码呢?
鱼佬
可以先利用一些统计值筛选特征,比如缺失比例大于99%,或者信息量较少的特征。
然后再去做特征编码,在编码后也可以利用模型去筛选特征。
竞赛小白
那特征筛选是一定要做的吗?在训练模型之后做?
鱼佬
如果原始数据的特征足够有效,则可以不做特征筛选。
在做加特征的时候也要注意不要加无效的特征,否则也会增加筛选的难度。
竞赛小白
利用统计值筛选和利用模型筛选区别大吗?
鱼佬
利用统计值筛选,会更加靠谱一些。如果利用模型筛选,则是「嵌入式」的筛选方法。
对话2:类别编码方法
竞赛小白
对于类别字段,有OneHot、标签编码、频率编码和目标编码,都要做吗?
鱼佬
并不是都要做。首先看类别字段的取值空间,如果足够小,则可以考虑OneHot。
然后再去通过EDA分析一下频率编码和目标编码是不是足够有区分性。再去决定做不做。
竞赛小白
类别取值的空间会影响具体的编码操作?
鱼佬
这个肯定的。普通类别和高基数类别的操作是不一样的。
对话3:特征交叉
竞赛小白
如何根据特征A和特征B构造新的特征?
阿水
A+B、A-B、A*B
group(A)[B]等
竞赛小白
意思是都可以试试?
阿水
建议从EDA先分析,如果能分析新特征与标签存在相关性,则可以做。
对话4:特征筛选
竞赛小白
在比赛中,基于模型如何筛选特征?
阿水
我个人比较喜欢排列重要性、shap value、null importance。
竞赛小白
那如何筛选之后分数下降,怎么办?
阿水
那就可以考虑保留下来,好的筛选方法筛选结果一般不会对精度有很大影响。