1. 程式人生 > >機器學習——2(大資料金融風控的預測案例學習總結)

機器學習——2(大資料金融風控的預測案例學習總結)

大資料金融風控的預測案例
1)資料準備
a)離群點處理
總體上先對資料進行了解,做一些簡單統計,對連續性數值與字元型數值的處理;
離群點的處理:
首先,離群點的定義:是與其他大多數樣本的行為或特徵分佈不一致的那些點;
處理方式:方法1—首先統計每個樣本下預設的特徵(列)數,然後進行排序,畫圖,拆分成訓練集與測試集進行對比,這樣可以保證訓練集與測試集分佈一致;(注:在一些模型的訓練中,結果往往得不到想要的,有可能是訓練集與測試集的樣本有偏,即不是接近標準的正態分佈,可以對樣本取對數來避免此種情況——這樣處理的更深層次的原因:機器學習的模型本就是基於大樣本服從大數定律的規律建立的,因此,其能較好處理滿足正態分佈的資料);
b)缺失值處理
對於列型別為連續型數值,首先先判斷該列特徵數值是否有數值大小的意義,如果有,進一步判斷如果該列特徵缺失率約為10%,可考慮用中值等來填充,如果缺失值為60%及以上,需要結合資料業務知識,判斷其重要性,如不重要則刪除,如重要則考慮通過其他手段將其補全;對於列型別為字元型的取值,如果該列缺失率較多,可將“缺失”作為一種字元型取值進行填充,表示其缺失;如果較少,可以考慮取較多的那一型別填充;
c)針對字元型列型別的字母大小寫統一的處理;
d)對空格的處理
e)對字元型數值取值較多(通常由於分的太細),導致一些取值樣本量太少,訓練的時候無法獲取權重,這種情況可以將一些取值合併成較大類的字元型變數,例如將北京、上海等合併為一線城市,等等。

2)特徵工程
例如:地理資訊
a)特徵列的增加(特徵細粒度進一步劃分)與組合(例如col1/col2,log(col1*col2)等方式組合)
考慮業務知識,地理資訊考慮進去會比較有用;如果列中關於地理資訊的欄位不能突出其兩者間的差別,可以考慮增加一些特徵,例如城市的經緯度進去;相當於增加細粒度的特徵,(前提是獲取增加的特徵諸如經緯度比較容易)
b)刪除常變數
某些變數其標準差非常小,接近於常量,波動性不大,這與我們模型(例如決策樹)是基於特徵列波動性較大的特性進行劃分類別的相違背,因此可以考慮將它刪除。
c)針對字元型變數進行轉邏輯處理
利用one-hot獨熱編碼,pandas自帶的get Dummy的函式即可實現。
3)特徵選擇
主要方法如下:
最大資訊係數(MIC),皮爾遜相關係數,正則化(L1,L2),基於模型的特徵排序(通常建議用這個方法——現在kaggle競賽神器xgboost通常可以用來進行特徵排序)
4)建模
多模型處理:可以分別建立多個模型:例如建立兩種引數取值的xgb模型、GDBT模型、決策樹模型;然後通過線性LR模型去擬合各個模型的輸出關於最終樣本資料的標籤之間的迴歸關係,相當於將每個模型進行線性的組合,得到最終的結果;
5)樣本不平衡的問題
針對樣本不平衡問題:有兩種方法解決——a)在訓練模型設定類別權重,也叫代價敏感學習;
b)over sampleing 過取樣技術,(推薦採用這個方法)

補充:對於交叉驗證,其可以幫助我們選擇最佳的模型超引數,選擇K折,K的值依賴於我們想要多少量級的數量作為訓練樣本,70000的樣本量 7折的話,相當於每次訓練量級為10000