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

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

比賽數(shù)據(jù)
本題的目標(biāo)是從真實(shí)場(chǎng)景和實(shí)際應(yīng)用出發(fā),利用個(gè)人的基本身份信息、個(gè)人的住房公積金繳存和貸款等數(shù)據(jù)信息,來建立準(zhǔn)確的風(fēng)險(xiǎn)控制模型,來預(yù)測(cè)用戶是否會(huì)逾期還款。
賽題一共提供了40000帶標(biāo)簽訓(xùn)練集樣本,15000不帶標(biāo)簽的測(cè)試集樣本,需要注意的是本賽題測(cè)試樣本包含干擾樣本(干擾樣本不參與得分計(jì)算),未可得知這些樣本究竟是真樣本但不參與評(píng)測(cè)還是本身就是代碼生成的假樣本,這可能會(huì)在很大程度上影響樣本的分布。數(shù)據(jù)僅有一張表,一共有19個(gè)基本特征,且均不包含任何缺失值。
評(píng)價(jià)標(biāo)準(zhǔn)
本賽題成績(jī)排名根據(jù)測(cè)試集的在公積金逾期風(fēng)險(xiǎn)監(jiān)控中,需要盡可能做到盡可能少的誤傷和盡可能準(zhǔn)確地探測(cè),使用了“在FPR較低時(shí)的TPR加權(quán)平均值”作為平均指標(biāo),這個(gè)指標(biāo)的波動(dòng)性非常大,而且?guī)缀醪荒苤苯觾?yōu)化,于是我采取AUC指標(biāo)來優(yōu)化我的模型。
Baseline方案
我的思路也非常簡(jiǎn)單,主要就是兩塊內(nèi)容,分別是對(duì)類別特征和數(shù)值特征的處理。我們首先將所有類別特征字段做目標(biāo)編碼,并統(tǒng)計(jì)所有類別特征的頻數(shù),將頻數(shù)極小的類別特征歸為一類;數(shù)值特征提取出偏離特征,即單個(gè)個(gè)體與分組之間的距離。
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指標(biāo)和默認(rèn)參數(shù)以五折交叉驗(yàn)證的形式訓(xùn)練,不知是否是評(píng)價(jià)指標(biāo)的關(guān)系,本方案的線上線下成績(jī)gap較大。
最終該baseline方案可以獲得0.5左右的線上分?jǐn)?shù)。顯然,改進(jìn)的方案有很多,使用公積金貸款的相關(guān)知識(shí)來做特征工程就是一個(gè)不錯(cuò)的方向。
完整的代碼我已經(jīng)上傳,在后臺(tái)回復(fù)「公積金」即可。
——END——
掃碼二維碼
獲取更多精彩
老肥碼碼碼


