python之KS曲线

更新时间:2023-06-27 03:04:18 阅读: 评论:0

python之KS曲线
高中英语单词表下载# ⾃定义绘制ks曲线的函数
def plot_ks(y_test, y_score, positive_flag):
# 对y_test,y_score重新设置索引
y_test.index = np.arange(len(y_test))
#y_score.index = np.arange(len(y_score))
# 构建⽬标数据集
target_data = pd.DataFrame({'y_test':y_test, 'y_score':y_score})hakko
# 按y_score降序排列
target_data.sort_values(by = 'y_score', ascending = Fal, inplace = True)
# ⾃定义分位点
cuts = np.arange(0.1,1,0.1)
# 计算各分位点对应的Score值
index = len(target_data.y_score)*cuts
scores = target_data.y_score.iloc[index.astype('int')]
服装设计师培训# 根据不同的Score值,计算Sensitivity和Specificity
Sensitivity = []
Specificity = []
for score in scores:
# 正例覆盖样本数量与实际正例样本量快速阅读训练
positive_recall = target_data.loc[(target_data.y_test == positive_flag) & (target_data.y_score>score),:].shape[0]        positive = sum(target_data.y_test == positive_flag)
jwl
# 负例覆盖样本数量与实际负例样本量
negative_recall = target_data.loc[(target_data.y_test != positive_flag) & (target_data.y_score<=score),:].shape[0]        negative = sum(target_data.y_test != positive_flag)
Sensitivity.append(positive_recall/positive)
Specificity.append(negative_recall/negative)
# 构建绘图数据
plot_data = pd.DataFrame({'cuts':cuts,'y1':1-np.array(Specificity),'y2':np.array(Sensitivity),
'ks':np.array(Sensitivity)-(1-np.array(Specificity))})
# 寻找Sensitivity和1-Specificity之差的最⼤值索引
max_ks_index = np.argmax(plot_data.ks)
thetimes
提交plt.plot([0]+list()+[1], [0]+plot_list()+[1], label = '1-Specificity')    plt.plot([0]+list()+[1], [0]+plot_list()+[1], label = 'Sensitivity')    # 添加参考线
plt.vlines(plot_data.cuts[max_ks_index], ymin = plot_data.y1[max_ks_index],              ymax = plot_d
ata.y2[max_ks_index], linestyles = '--')
# 添加⽂本信息
<(x = plot_data.cuts[max_ks_index]+0.01,
y = plot_data.y1[max_ks_index]+plot_data.ks[max_ks_index]/2,
cup是什么意思s = 'KS= %.2f' %plot_data.ks[max_ks_index])
会议翻译# 显⽰图例
plt.legend()
# 显⽰图形
plt.show()
# 调⽤⾃定义函数,绘制K-S曲线
plot_ks(y_test = y_test, y_score = y_score, positive_flag = 1)
>incontrast

本文发布于:2023-06-27 03:04:18,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/158954.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:定义   绘制   添加   数量   样本   实际   构建   数据
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图