IV值的計算邏輯

2021-10-05 02:23:17 字數 1359 閱讀 1595

在建模的時候,我們對會單個變數的**能力進行**,主要使用iv值這個指標,iv值的**能力如下:

iv<=0.02 : 無**能力;

0.02 - 0.1 :弱**能力;

0.1 - 0.3 :中**能力;

0.3 - 0.5 :強**能力;

大於0.5的為超強**能力;

iv值的計算公式:

pgood_section_total:分箱好使用者與整體好使用者比值;

pbad_section_total:分箱壞使用者與整體壞使用者比值;

pgood_section:分箱好使用者與該分箱整體比值;

pbad_section:分箱壞使用者與該分箱整體比值;

pgood_total:好使用者與整體佔比;

pbad_total:好使用者與整體佔比;

python實現邏輯:

d1=pd.dataframe()

d2 = d1.groupby(['x'],as_index=true)

#單個特徵個數

good=data['seriousdlqin2yrs'].sum()

bad=data['seriousdlqin2yrs'].count()-good

d3 = pd.dataframe(d2.x.count(),columns=['good_count'])

d3['good_count'] = d2.sum().y

d3['total_count'] = d2.count().y

d3['rate'] = d3['good_count']/d3['total_count']

d3['goodall_rate'] = d3['good_count']/good

d3['badall_rate'] = (d3['total_count'] - d3['good_count'])/bad

d3['woe'] = np.log((d3['rate']/(1-d3['rate']))/((good/(bad+good))/(bad/(bad+good))))

d3['iv'] = (d3['goodall_rate'] - d3['badall_rate'])*d3['woe']

iv = d3['iv'].sum()

print (d3)

print ('iv=',iv)

excel實現邏輯:

python計算iv值 python計算IV值

1.基於jupyter notebook 導包import numpy as np import math import pandas as pd from sklearn.utils.multiclass import type of target from scipy import stats ...

python計算iv值 python計算IV值

1.基於jupyter notebook 導包import numpy as np import math import pandas as pd from sklearn.utils.multiclass import type of target from scipy import stats ...

python機器學習 IV值 WOE值的計算

評分卡模型中的iv和woe詳解 看完後,一定要注意 iv衡量的是某乙個變數的資訊量,從公式來看的話,相當於是自變數woe值的乙個加權求和,其值的大小決定了自變數對於目標變數的影響程度,對於分組 i 其對應的iv值參考下圖,其中n是分組個數,注意,在變數的任何分組中,不應該出現響應數為0或非響應數字0...