公積金貸款逾期預(yù)測Baseline分享

今天老肥和大家分享的是山東省第二屆數(shù)據(jù)應(yīng)用創(chuàng)新創(chuàng)業(yè)大賽-日照分賽場-公積金貸款逾期預(yù)測的baseline, 這個賽題是結(jié)構(gòu)化數(shù)據(jù)的分類問題,相對來說入門門檻較低,那就一起來看看吧!
賽事介紹
山東省第二屆數(shù)據(jù)應(yīng)用創(chuàng)新創(chuàng)業(yè)大賽以“數(shù)聚賦能,智惠山東”為主題,鼓勵企業(yè)、社會組織和個人積極探索開展大數(shù)據(jù)創(chuàng)新應(yīng)用,加快推進公共數(shù)據(jù)資源開發(fā)利用,在數(shù)據(jù)供給方和數(shù)據(jù)需求方之間形成常態(tài)化對接機制,推動數(shù)字經(jīng)濟、數(shù)字社會融合發(fā)展,促進發(fā)揮數(shù)據(jù)“優(yōu)政、惠民、興業(yè)”作用,助力“數(shù)字山東”建設(shè)。公積金貸款逾期預(yù)測是本次創(chuàng)新創(chuàng)業(yè)大賽算法賽的其中一題。

比賽數(shù)據(jù)
本題的目標是從真實場景和實際應(yīng)用出發(fā),利用個人的基本身份信息、個人的住房公積金繳存和貸款等數(shù)據(jù)信息,來建立準確的風(fēng)險控制模型,來預(yù)測用戶是否會逾期還款。
賽題一共提供了40000帶標簽訓(xùn)練集樣本,15000不帶標簽的測試集樣本,需要注意的是本賽題測試樣本包含干擾樣本(干擾樣本不參與得分計算),未可得知這些樣本究竟是真樣本但不參與評測還是本身就是代碼生成的假樣本,這可能會在很大程度上影響樣本的分布。數(shù)據(jù)僅有一張表,一共有19個基本特征,且均不包含任何缺失值。
評價標準
本賽題成績排名根據(jù)測試集的在公積金逾期風(fēng)險監(jiān)控中,需要盡可能做到盡可能少的誤傷和盡可能準確地探測,使用了“在FPR較低時的TPR加權(quán)平均值”作為平均指標,這個指標的波動性非常大,而且?guī)缀醪荒苤苯觾?yōu)化,于是我采取AUC指標來優(yōu)化我的模型。
Baseline方案
我的思路也非常簡單,主要就是兩塊內(nèi)容,分別是對類別特征和數(shù)值特征的處理。我們首先將所有類別特征字段做目標編碼,并統(tǒng)計所有類別特征的頻數(shù),將頻數(shù)極小的類別特征歸為一類;數(shù)值特征提取出偏離特征,即單個個體與分組之間的距離。
def kfold_mean(df_train, df_test, target, target_mean_list):
folds = StratifiedKFold(n_splits=5)
mean_of_target = df_train[target].mean()
for fold_, (trn_idx, val_idx) in tqdm(
enumerate(folds.split(df_train, y=df_train['label']))):
tr_x = df_train.iloc[trn_idx, :]
vl_x = df_train.iloc[val_idx, :]
for col in target_mean_list:
df_train.loc[vl_x.index, f'{col}_target_enc'] = vl_x[col].map(
tr_x.groupby(col)[target].mean())
for col in target_mean_list:
df_train[f'{col}_target_enc'].fillna(mean_of_target, inplace=True)
df_test[f'{col}_target_enc'] = df_test[col].map(
df_train.groupby(col)[f'{col}_target_enc'].mean())
df_test[f'{col}_target_enc'].fillna(mean_of_target, inplace=True)
return pd.concat([df_train, df_test], ignore_index=True)
模型采用了lightgbm,采用auc指標和默認參數(shù)以五折交叉驗證的形式訓(xùn)練,不知是否是評價指標的關(guān)系,本方案的線上線下成績gap較大。
最終該baseline方案可以獲得0.5左右的線上分數(shù)。顯然,改進的方案有很多,使用公積金貸款的相關(guān)知識來做特征工程就是一個不錯的方向。
完整的代碼我已經(jīng)上傳,在后臺回復(fù)「公積金」即可。
——END——
掃碼二維碼
獲取更多精彩
老肥碼碼碼


