roc曲线和lift曲线是模型评价的指标,我们在建好模型后经常会用这两个指标对模型进行评估。在建模过程中发现python竟然没有自动生成roc曲线和lift曲线的包。我自己写了两个函数,能够做出roc曲线和lift曲线。希望可以给大家工作和学习带来一些方便。
函数如下,大家可以直接调用。
from scipy.stats import scoreatpercentile
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
from sklearn.metrics import roc_curve, auc
###result like result[['target','proba']]
def lift_curve_(result):
result.columns = ['target','proba']
result_ = result.copy()
proba_copy = result.proba.copy()
for i in range(10):
point1 = scoreatpercentile(result_.proba, i*(100/10))
point2 = scoreatpercentile(result_.proba, (i+1)*(100/10))
proba_copy[(result_.proba >= point1) & (result_.proba <= point2)] = ((i+1))
result_['grade'] = proba_copy
df_gain = result_.groupby(by=['grade'], sort=True)