PART 3 2 風控建模卡方分箱前期資料處理篇

2021-09-10 19:57:11 字數 1447 閱讀 2022

最重要的事情開始都會講:建模是始終服務於業務的,沒有業務的評分卡就沒有靈魂

#drop_list不滿足條件列表

drop_list=

#對變數單一值進行檢測,比例大於等於0.95,放入不滿足條件列表,最後扔掉

for col in adata.columns:

percent = adata[col].value_counts().max()/float(len(adata))

if percent>=0.95:

print( ("the {} is not useful, please delete".format(col)))

adata.drop(drop_list,axis =1,inplace=true)

#檢視缺失值比例

check_null = adata.isnull().sum(axis=0).sort_values(ascending=false)/float(len(adata))

#設定非缺失值比例

thresh_count=0.5

#如果非缺失值大於0.5,則保留,否則,該比例按量其中

#需要注意的是,這是指非缺失值,如果非缺失值thresh_count 為 0.6,則如果非缺失(0.6)也就是缺失小於0.4,才會保留

adata = adata.dropna(thresh=thresh_count, axis=1)

def makeupmissing(x):

if np.isnan(x):

return -1.0

else:

return x

#對資料中的缺失值進行-1補充

for i in num_features:

adata[i] = adata[i].map(lambda x:makeupmissing(x))

-變數分類
cat_features = list(adata.select_dtypes(include=["object"]).columns)  #找到列相關資訊

num_features = list(adata.select_dtypes(include=["float64","int64"]).columns)

同時變數型別也可以做改變,比如省份這個變數,後期也需要通過bad_rate去檢測,方法如下

#id_first2指的是身份證前兩位

adata['id_first2'] = adata['id_first2'].map(lambda x:str(x))

下面一章講的是單調性檢測,卡方分箱取值計算,以及如何bad_rate檢測

最重要的事情最後都會講:建模是始終服務於業務的,沒有業務的評分卡就沒有靈魂

風控建模整體流程

1.確定建模目的 在信貸領域中建立風控模型是為了找出可能會逾期的客戶,根據逾期的可能性和資金的鬆緊程度選擇是否放貸。在支付領域建立風控模型是為了找出可能存在非法經營的商戶,保證商戶沒有違法經營。2.確定好壞樣本邏輯 在信貸領域中逾期大於x期 不同公司取值不同 的客戶定義為壞客戶 1 從未逾期的客戶定...

PART 2 2 風控建模前資料預處理 清洗

最重要的事情開始都會講 建模是始終服務於業務的,沒有業務的評分卡就沒有靈魂 廣義資料預處理包括 資料清洗,資料整合 使用者基礎資料,外部第三方資料,埋點資料 資料變換 woe 型別 4 時間格式 5 中文資料 若干函式用法 1 重複值 duplicated函式用來查詢並顯示資料表中的重複值 dupl...

python風控建模實戰lendingClub

博主原創錄製 作者toby 持牌照消費金融模型專家,和中科院,中科大教授保持長期專案合作 和同盾,聚信立等外部資料來源公司有專案對接。熟悉消費金融場景業務,線上線下業務,包括現金貸,商品貸,醫美,反欺詐,汽車金融等等。模型專案200 擅長python機器學習建模,對於變數篩選,衍生變數構造,變數缺失...