建模样本分数分布matplotlib,结合psi判断模型拟合程度
画此图的目的是除了ks和auc指数,结合建模样本和OOT样本的psi,利用分数分布图进行比较,判断模型拟合程度。
psi计算
def multi_psi_for_continue_var(expected_frame, actual_frame, bins=10, bucket_type='bins', detail=False,
save_file_path=None):
col_list = expected_frame.columns.tolist()
if detail == True:
psi_value = []
for i in col_list:
expected_array = expected_frame[i]
actual_array = actual_frame[i]
_psi = psi_for_continue_var(expected_array, actual_array, bins=bins, bucket_type=bucket_type, detail=detail,
save_file_path=save_file_path)
if not isinstance(_psi, int):
_psi['col_name'] = str(i)
print(i)
psi_value.append(_psi)
else:
print(i)
psi_all = pd.concat(psi_value, sort=False)
elif detail == False:
psi_value = {
}
for i in col_list:
expected_array = expected_frame[i]
actual_array = actual_frame[i