竞赛中如何做特征工程

Datawhale

共 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。

竞赛小白

那如何筛选之后分数下降,怎么办?

阿水


那就可以考虑保留下来,好的筛选方法筛选结果一般不会对精度有很大影响。

加微信coggle666,可进竞赛社群提问

干货学习,三连
浏览 11
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报