一、數(shù)據(jù)清洗
在討論具體的方法前,想討論一個(gè)大前提,數(shù)據(jù)的預(yù)處理是否是測(cè)試集和訓(xùn)練集一起進(jìn)行?答案是不要。
簡(jiǎn)單而言,就是不應(yīng)當(dāng)把測(cè)試的信息引入訓(xùn)練中。但在確定預(yù)處理方法后,測(cè)試集應(yīng)進(jìn)行同樣的處理,因?yàn)闄C(jī)器學(xué)習(xí)的一個(gè)假定,就是樣本服從獨(dú)立同分布。
數(shù)據(jù)缺失
一般可從樣本維度和變量維度檢視,更常見(jiàn)的是變量維度的缺失,實(shí)際上,變量缺失的原因才是最關(guān)鍵的。
例如,某些特定樣本,基本所有變量缺失,是IT系統(tǒng)問(wèn)題、風(fēng)控流程環(huán)節(jié)導(dǎo)致?某些變量缺失率較高,是業(yè)務(wù)合理(如非強(qiáng)制錄入項(xiàng))、數(shù)據(jù)加工錯(cuò)誤(表關(guān)聯(lián)的問(wèn)題居多)?
樣本維度,如果某些樣本,大多數(shù)變量均缺失,則直接刪除樣本。
變量維度,缺失值較多的話,可轉(zhuǎn)換為“有\(zhòng)無(wú)”的類別性變量,缺失值較少則進(jìn)行填充。
根據(jù)樣本間的相關(guān)性填充:
1、變量分布的常見(jiàn)值,如中位數(shù)、均值、眾數(shù)等,采用哪種方式填充,一方面可實(shí)驗(yàn)進(jìn)行,一方面需要根據(jù)變量本身分布的特點(diǎn)決定。如接近正態(tài)分布,則選擇均值,偏態(tài)分布選擇中位數(shù)。
2、用上下數(shù)據(jù)進(jìn)行填充,一般時(shí)序類的變量可嘗試該方法。
根據(jù)變量間的相關(guān)性填充,常用的如RF、KNN等填充。
最后,對(duì)于傳統(tǒng)評(píng)分卡建模方法,缺失值可單獨(dú)作為一組,保留計(jì)算WOE,關(guān)鍵在于分組內(nèi)客群的風(fēng)險(xiǎn)表現(xiàn)是一致的。另外的考慮,則是填充畢竟相當(dāng)于認(rèn)為引入了噪聲,均值簡(jiǎn)單填充效果不會(huì)太好,用其他變量預(yù)測(cè)填充,需要有一個(gè)強(qiáng)假設(shè),變量之間是相關(guān)的,方可預(yù)測(cè),但一般來(lái)說(shuō),可很好預(yù)測(cè)的變量,也沒(méi)太大必要進(jìn)行入模。
比較推薦的還是單獨(dú)一組或進(jìn)行one-hot編碼(其實(shí)也是保留缺失),或者考慮使用不限制缺失值的算法(xgb、rf、lgb是否支持要搞搞清楚)。
異常值檢測(cè)
略。
臟數(shù)據(jù)處理
如注冊(cè)時(shí)間,為1970-01-01 23:59:59,明顯不符合業(yè)務(wù)規(guī)則;或由系統(tǒng)時(shí)區(qū)配置,導(dǎo)致時(shí)間異常,則可進(jìn)行修復(fù)。
二、常用技巧
log轉(zhuǎn)換:非線性關(guān)系為線性關(guān)系,降低變量值跳躍的影響。
U型特征轉(zhuǎn)為單調(diào):轉(zhuǎn)化成中值差值的絕對(duì)值。
數(shù)據(jù)質(zhì)量的常見(jiàn)問(wèn)題:數(shù)據(jù)來(lái)源多樣,格式不統(tǒng)一;數(shù)據(jù)不準(zhǔn)確,如客戶A在數(shù)據(jù)庫(kù)B、C的年齡分別記錄了為23、70歲。
附,參考資料:
1、評(píng)分卡模型開(kāi)發(fā)-用戶數(shù)據(jù)缺失值處理,https://blog.csdn.net/lll1528238733/article/details/76599626
2、機(jī)器學(xué)習(xí)中,對(duì)于數(shù)據(jù)的預(yù)處理是否是測(cè)試集和訓(xùn)練集一起進(jìn)行,https://www.zhihu.com/question/312639136/answer/601839910