競賽中如何做特征工程
對話1:特征工程流程
競賽小白

在參加結(jié)構(gòu)化比賽時(shí),做特征工程時(shí)候,是先篩選特征,還是先做特征編碼呢?
魚佬
可以先利用一些統(tǒng)計(jì)值篩選特征,比如缺失比例大于99%,或者信息量較少的特征。
然后再去做特征編碼,在編碼后也可以利用模型去篩選特征。
競賽小白

那特征篩選是一定要做的嗎?在訓(xùn)練模型之后做?
魚佬
如果原始數(shù)據(jù)的特征足夠有效,則可以不做特征篩選。
在做加特征的時(shí)候也要注意不要加無效的特征,否則也會增加篩選的難度。
競賽小白

利用統(tǒng)計(jì)值篩選和利用模型篩選區(qū)別大嗎?
魚佬
利用統(tǒng)計(jì)值篩選,會更加靠譜一些。如果利用模型篩選,則是「嵌入式」的篩選方法。
對話2:類別編碼方法
競賽小白

對于類別字段,有OneHot、標(biāo)簽編碼、頻率編碼和目標(biāo)編碼,都要做嗎?
魚佬
并不是都要做。首先看類別字段的取值空間,如果足夠小,則可以考慮OneHot。
然后再去通過EDA分析一下頻率編碼和目標(biāo)編碼是不是足夠有區(qū)分性。再去決定做不做。
競賽小白

類別取值的空間會影響具體的編碼操作?
魚佬
這個(gè)肯定的。普通類別和高基數(shù)類別的操作是不一樣的。
對話3:特征交叉
競賽小白

如何根據(jù)特征A和特征B構(gòu)造新的特征?
阿水
A+B、A-B、A*B
group(A)[B]等
競賽小白

意思是都可以試試?
阿水
建議從EDA先分析,如果能分析新特征與標(biāo)簽存在相關(guān)性,則可以做。
對話4:特征篩選
競賽小白

在比賽中,基于模型如何篩選特征?
阿水
我個(gè)人比較喜歡排列重要性、shap value、null importance。
競賽小白

那如何篩選之后分?jǐn)?shù)下降,怎么辦?
阿水
那就可以考慮保留下來,好的篩選方法篩選結(jié)果一般不會對精度有很大影響。



