ks代码助解
2024-09-07 09:05:02
代码实现:
data_test_2 = {'gd':[1,1,1,1,1,1,0,0,0,0,0,0,0],'score':[1,2,0,2,2,7,4,5,4,0,4,18,np.nan]}
data_test_2 = pd.DataFrame(data_test_2) def ks_calc_cross(data,var_col,y_col):
'''
功能: 计算KS值,输出对应分割点和累计分布
输入值:-
输出值:
'ks': KS值,'crossdens': 好坏人累积概率分布以及其差值gap
'''
ks_df1 = pd.crosstab(data[var_col],data[y_col])
print(ks_df1)
print(ks_df1.cumsum(axis=0))
print(ks_df1.sum())
ks_df2 = ks_df1.cumsum(axis=0) / ks_df1.sum()
print(ks_df2)
ks_df2['gap'] = abs(ks_df2[0] - ks_df2[1])
ks = ks_df2['gap'].max()
return ks ks_value = ks_calc_cross(data_test_2, 'score', 'gd')
print(ks_value)
gd 0 1
score
0.0 1 1
1.0 0 1
2.0 0 3
4.0 3 0
5.0 1 0
7.0 0 1
18.0 1 0
gd 0 1
score
0.0 1 1
1.0 1 2
2.0 1 5
4.0 4 5
5.0 5 5
7.0 5 6
18.0 6 6
gd
0 6
1 6
dtype: int64
gd 0 1
score
0.0 0.166667 0.166667
1.0 0.166667 0.333333
2.0 0.166667 0.833333
4.0 0.666667 0.833333
5.0 0.833333 0.833333
7.0 0.833333 1.000000
18.0 1.000000 1.000000
0.666666666667 庖丁解牛:
import pandas as pd
import numpy as np data_test_2 = {'gd':[1,1,1,1,1,1,0,0,0,0,0,0,0],'score':[1,2,0,2,2,7,4,5,4,0,4,18,np.nan]}
data_test_2 = pd.DataFrame(data_test_2)
data_test_2
ks_df1 = pd.crosstab(data_test_2['score'],data_test_2['gd'])
ks_df1
ks_df1.cumsum(axis=0)
ks_df1.sum()
ks_df2 = ks_df1.cumsum(axis=0) / ks_df1.sum()
ks_df2
ks_df2['gap'] = abs(ks_df2[0] - ks_df2[1])
ks_df2
ks_df2['gap'].max()
最新文章
- .Net 大型分布式基础服务架构横向演变概述
- 不要着急改代码,先想想--centos 6.8下编译安装tmux
- Html --用简单的<;hr>;实现多样化分割效果
- atitit.提升开发效率---使用服务器控件生命周期 asp.net 11个阶段 java jsf 的6个阶段比较
- [daily][network] NAT原理(转)
- BZOJ3307 雨天的尾巴
- 单选项框RadioGroup的综合应用
- Linux find example
- HDU 4283 You Are the One (12年天津 区间DP)
- photoshop mac版下载及破解
- CSS3 div水平、垂直居中,IE9以上、Firefox、Chrome均正常
- OCP读书笔记(20) - 复制数据库
- Tomcat目录下文件详解
- 配置python虚拟环境Virtualenv及pyenv
- CSDN博客投票活动开始了
- Servlet-生命周期简介
- C#泛型约束where T : class 解释
- C++ cout执行顺序
- Oracle PL/SQL游标
- 如何把EntityList转换成DataSet
热门文章
- loadrunner 场景设计-手工场景方案(Schedule)设计 Part 2
- 定位网页元素、透明度、z-index、包裹性和破坏性
- 英特尔&#174; Open Image Denoise 库有助于节省时间,提高质量
- SpringBoot 和 SpringCloud 之间关系?
- 【嵌入式开发】树莓派h264实时视频监控
- 使用new关键字创建对象数组(C#,C++,Java)
- 基于XML配置Spring的自动装配
- Anaconda配置环境变量+创建虚拟环境+pycharm使用虚拟环境
- rust学习小记(1)
- tp5框架用foreach循环时候报Indirect modification of overloaded element of think\paginator\driver\Bootst错误