客戶逾期貸款預測[8] - 特徵選擇(iv值、隨機森林)
阿新 • • 發佈:2018-12-04
任務
分別用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的過擬合問題可以通過調整引數實現,在網格搜尋中增加引數的複雜度,選擇最適合的超參。