1. 程式人生 > >客戶逾期貸款預測[8] - 特徵選擇(iv值、隨機森林)

客戶逾期貸款預測[8] - 特徵選擇(iv值、隨機森林)

任務

       分別用IV值和隨機森林挑選特徵,再構建模型,進行模型評估

 

1 利用iv值挑選特徵

       這次暫時先用學長計算好的iv值挑選特徵,之後再嘗試自己計算iv值。選擇iv在0.1-0.5之間的特徵。

import pandas as pd
iv = pd.read_csv("iv.csv",encoding='gbk')
iv_one = iv[iv.iloc[:,1] > 0.1]
iv_one_five = iv_one[iv_one.iloc[:,1] < 0.5]
iv_one_five.iloc[:,0]

 

2 利用隨機森林挑選特徵

from sklearn.ensemble import RandomForestClassifier

rf = RandomForestClassifier()
rf.fit(X_cl, y)
rf_impc = pd.Series(rf.feature_importances_, index = X_cl.columns).sort_values(ascending=False)
fea_gini = rf_impc[:20].index

#取兩者的並集
new_features = list(set(fea_iv) | set(fea_gini))
X_final = X_cl[new_features]
X_final.shape

       之後利用新挑選的24個特徵劃分訓練集和資料集,對單模型調參,然後模型融合。

比較

                

                     特徵選擇前                                                              特徵選擇後

在模型融合之後,各項評分指標除auc外略有上升。

 

遇到的問題

       1.xgboost過擬合

        處理xgboost的過擬合問題可以通過調整引數實現,在網格搜尋中增加引數的複雜度,選擇最適合的超參。

 

參考

       二元分類特徵的選擇

       xgboost調參