KS值和GINI系数

有效性指标中的区分能力指标:

KS(Kolmogorov-Smirnov):KS用于模型风险区分能力进行评估, 
指标衡量的是好坏样本累计分部之间的差值。 
好坏样本累计差异越大,KS指标越大,那么模型的风险区分能力越强。

KS的计算步骤如下: 
1. 计算每个评分区间的好坏账户数。 
2. 计算每个评分区间的累计好账户数占总好账户数比率(good%)和累计坏账户数占总坏账户数比率(bad%)。 
3. 计算每个评分区间累计坏账户占比与累计好账户占比差的绝对值(累计good%-累计bad%),然后对这些绝对值取最大值即得此评分卡的K-S值。

è¿éåå¾çæè¿°

·GINI系数:也是用于模型风险区分能力进行评估。 
GINI统计值衡量坏账户数在好账户数上的的累积分布与随机分布曲线之间的面积,好账户与坏账户分布之间的差异越大,GINI指标越高,表明模型的风险区分能力越强。

GINI系数的计算步骤如下: 
1. 计算每个评分区间的好坏账户数。 
2. 计算每个评分区间的累计好账户数占总好账户数比率(累计good%)和累计坏账户数占总坏账户数比率(累计bad%)。 
3. 按照累计好账户占比和累计坏账户占比得出下图所示曲线ADC。 
4. 计算出图中阴影部分面积,阴影面积占直角三角形ABC面积的百分比,即为GINI系数。

è¿éåå¾çæè¿°

决策树的Gini系数是一种衡量数据集纯度的指标,用于选择最佳的划分特征。下面是一个简单的示例代码,用于计算决策树节点的Gini系数: ```python import numpy as np def gini_index(groups, classes): # 计算总样本数量 total_samples = sum(len(group) for group in groups) # 初始化Gini系数 gini = 0.0 # 遍历每个组 for group in groups: size = float(len(group)) # 避免除以0的情况 if size == 0: continue score = 0.0 # 计算每个类别在当前组中的比例 for class_val in classes: p = [row[-1] for row in group].count(class_val) / size score += p * p # 根据组的大小加权计算Gini系数 gini += (1.0 - score) * (size / total_samples) return gini # 示例数据集 dataset = [[2.771244718,1.784783929,0], [1.728571309,1.169761413,0], [3.678319846,2.81281357,0], [3.961043357,2.61995032,0], [2.999208922,2.209014212,0], [7.497545867,3.162953546,1], [9.00220326,3.339047188,1], [7.444542326,0.476683375,1], [10.12493903,3.234550982,1], [6.642287351,3.319983761,1]] # 示例划分特征和类别 split_feature = 0 split_value = 6.642287351 left_group = [[2.771244718,1.784783929,0], [1.728571309,1.169761413,0], [3.678319846,2.81281357,0], [3.961043357,2.61995032,0], [2.999208922,2.209014212,0]] right_group = [[7.497545867,3.162953546,1], [9.00220326,3.339047188,1], [7.444542326,0.476683375,1], [10.12493903,3.234550982,1], [6.642287351,3.319983761,1]] # 计算Gini系数 classes = np.unique([row[-1] for row in dataset]) gini = gini_index([left_group, right_group], classes) print('Gini Index:', gini) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值