金融風控入門賽01

2021-10-09 11:47:49 字數 4478 閱讀 5874

我的機器學習實踐之旅還在繼續,這次我繼續參加了datawhale的組隊學習活動,題目是金融風控。

賽題以金融風控中的個人信貸為背景,要求選手根據貸款申請人的資料資訊**其是否有違約的可能,以此判斷是否通過此項貸款,這是乙個典型的分類問題。通過這道賽題來引導大家了解金融風控中的一些業務背景,解決實際問題,幫助競賽新人進行自我練習、自我提高。

field

description

id為貸款清單分配的唯一信用證標識

loanamnt

貸款金額

term

貸款期限(year)

interestrate

貸款利率

installment

分期付款金額

grade

貸款等級

subgrade

貸款等級之子級

employmenttitle

就業職稱

employmentlength

就業年限(年)

homeownership

借款人在登記時提供的房屋所有權狀況

annualincome

年收入verificationstatus

驗證狀態

issuedate

貸款發放的月份

purpose

借款人在貸款申請時的貸款用途類別

postcode

regioncode

地區編碼

dti債務收入比

delinquency_2years

借款人過去2年信用檔案中逾期30天以上的違約事件數

ficorangelow

借款人在貸款發放時的fico所屬的下限範圍

ficorangehigh

借款人在貸款發放時的fico所屬的上限範圍

openacc

借款人信用檔案中未結信用額度的數量

pubrec

貶損公共記錄的數量

pubrecbankruptcies

公開記錄清除的數量

revolbal

信貸周轉餘額合計

revolutil

迴圈額度利用率,或借款人使用的相對於所有可用迴圈信貸的信貸金額

totalacc

借款人信用檔案中當前的信用額度總數

initialliststatus

貸款的初始列表狀態

表明貸款是個人申請還是與兩個共同借款人的聯合申請

earliescreditline

借款人最早報告的信用額度開立的月份

title

借款人提供的貸款名稱

policycode

公開可用的策略_**=1新產品不公開可用的策略_**=2

n系列匿名特徵

匿名特徵n0-n14,為一些貸款人行為計數特徵的處理

本次的場景屬於典型的金融風控場景,其中**的目標為使用者是否違約,訓練集資料總量80萬條,測試集資料量20萬條,總特徵數為47,其中,無缺失特徵為25,首先先要對資料進行處理,這裡主要做的處理為區分缺失列及轉換特殊格式。

import pandas as pd

import numpy as np

train = pd.read_csv('../data/train.csv')

testa = pd.read_csv('../data/testa.csv')

print('train data shape:',train.shape) #train data shape: (800000, 47)

print('testa data shape:',testa.shape) #testa data shape: (200000, 48)

print(train.columns)

#index(['id', 'loanamnt', 'term', 'interestrate', 'installment', #'grade',

# 'subgrade', 'employmenttitle', 'employmentlength', #'homeownership',

# 'annualincome', 'verificationstatus', 'issuedate', #'isdefault',

# 'purpose', 'postcode', 'regioncode', 'dti', #'delinquency_2years',

# 'ficorangelow', 'ficorangehigh', 'openacc', 'pubrec',

# 'pubrecbankruptcies', 'revolbal', 'revolutil', 'totalacc',

# 'policycode', 'n0', 'n1', 'n2', 'n2.1', 'n4', 'n5', 'n6', 'n7', 'n8',

# 'n9', 'n10', 'n11', 'n12', 'n13', 'n14'], dtype='object')

not_null_column = ['id','loanamnt','term','interestrate','installment','grade','subgrade','homeownership',

'annualincome','verificationstatus','issuedate','purpose','regioncode',

'delinquency_2years','ficorangelow','ficorangehigh','openacc','pubrec','revolbal',

null_column = [col for col in train.columns if col not in not_null_column]

list1=sorted(train['subgrade'].astype(str).unique())

subgrade_dic =

grade_dic =

earlies_dic =

train['grade']=train['grade'].map(grade_dic)

train['subgrade'] = train['subgrade'].map(subgrade_dic)

然後,我還畫出了資料數量與時間的相關關係。

從圖中可以看到,大概從14年5月到18年年初使用者交易較為活躍。

for i in not_null_column:

print(i,'isdefault',train[i].corr(train['isdefault']))

# id isdefault -0.00035108389556033935

# loanamnt isdefault 0.06520961446281096

# term isdefault 0.17512564943237638

# interestrate isdefault 0.2592022258683037

# installment isdefault 0.05152448921221738

# grade isdefault 0.2618575780880932

# subgrade isdefault 0.26772357566751687

# homeownership isdefault 0.05459850810406215

# annualincome isdefault -0.04278186579523253

# verificationstatus isdefault 0.08855737298108195

從相關性可以看出,貸款利率、貸款等級、貸款等級之子級與是否違約相關性較強。

from catboost import catboostclassifier

from sklearn.model_selection import train_test_split

import numpy as np

x_train, x_validation, y_train, y_validation = train_test_split(train[not_null_column],train['isdefault'],test_size=0.3 , random_state=1234)

model = catboostclassifier(iterations=100, depth=5,learning_rate=0.5, loss_function='logloss',

logging_level='verbose')

model.fit(x_train,y_train,eval_set=(x_validation, y_validation),plot=true)

金融風控01 風控業務解析

入門資料推薦 補充資料採集會涉及到埋點和爬蟲。反欺詐引擎 模型 無標籤 反欺詐引擎主要包括兩個部分,反欺詐規則 主要 和反欺詐模型。傳統的監督模型較少的使用到,主要涉及到無監督演算法 社交網路演算法 深度學習 異常檢測 知識圖譜。規則引擎 策略 主要通過資料分析 挖掘手段以及一些監督 無監督演算法,...

金融風控 Task01

題目理解 通過這道賽題來引導大家走進金融風控資料競賽的世界,主要針對於於競賽新人進行自我練習 自我提高。指標 分類演算法常見的評估指標如下 1 混淆矩陣 confuse matrix 2 準確率 accuracy 3 精確率 precision 4 召回率 recall 5 f1 score 6 p...

金融風控專案

一 問題定義 金融的核心是風險控制。自然而然地,ai的主戰場也變成了如何使用ai技術精準的做風險控制。在風控領域,有乙個很重要的問題是 如何通過使用者的資訊來判斷使用者的逾期與否?我們通過收集使用者的基本資訊 地域資訊 社交資訊等來判斷乙個人的逾期概率。資料如下 二 roc與auc 特徵工程 第一 ...