toad -评分卡模型

Toad简介

一个可以用作数据探查、特征选择和评分卡模型建模的python工具包。
参考:

https://www.cnblogs.com/cgmcoding/p/14026520.html
https://www.freesion.com/article/2550417274/

1.EDA数据探查

toad.detect() # 高阶版 describe功能
以datafountain中非法集资案例中的数据为例,base_info.csv

import toad
import pandas
base = pd.read_csv(filename)
toad.detect(base)

toad -评分卡模型包含的字段:‘type’, ‘size’, ‘missing’, ‘unique’, ‘mean_or_top1’, ‘std_or_top2’,
‘min_or_top3’, ‘1%_or_top4’, ‘10%_or_top5’, ‘50%_or_bottom5’,
‘75%_or_bottom4’, ‘90%_or_bottom3’, ‘99%_or_bottom2’, ‘max_or_bottom1’

其中,后面几个指标(即 ‘mean_or_top1’, ‘std_or_top2’,‘min_or_top3’, ‘1%_or_top4’, ‘10%_or_top5’, ‘50%_or_bottom5’,‘75%_or_bottom4’, ‘90%_or_bottom3’, ‘99%_or_bottom2’, ‘max_or_bottom1’),分两种情况,如果该列特征为object类型,则该指标则为value_counts()的作用,统计特征的计数,按照频率显示top5和bottom5。如果该列特征为int或者float,则该指标为mean、std、min、1%…的数据分布指标。

2.特征选择

toad.selection.select()
toad提供了一个特征筛选的函数,可以根据特征的缺失比例、iv值、膨胀系数

参考:
https://blog.csdn.net/qq_41341757/article/details/111312591

1) 筛选的指标包括

  • 覆盖度 ,即缺失率和零值率。
  • 区分度 ,计算特征的IV值。
  • 相关性,计算特征的correlation。

说明:
IV值(information value)
案例:计算IV值:
1: 计算每个标签下好人的概率 = p_good = good / good_总计
2:计算每个标签下坏人的概率 = p_bad = bad / bad_总计
3: 计算好人概率和坏人概率的差值 = p_good - p_bad
4: 计算ln(p_good/p_bad)的值。
5: 计算 IV = ln(p_good/p_bad) * (p_good - p_bad)
toad -评分卡模型

IV值<0.02,区分度小,0.02<IV<0.5之间区分度大,IV值>0.5表示可以单独作为一个规则条件,而不用建模。

empty:
包括缺失率和零值率

相关性
相关性大的特征,如果可以用另外的特征集合通过线性计算得到,只保留其中对IV值较大的特征。

2) 参数包括

  • empty:缺失率上限
  • iv:信息量
  • corr:相关系数大于阈值,则删除IV小的特征
  • return_drop:返回删除特征
  • exclude:不参与筛选的变量名

3)举例
example:删除base_info中,iv值小于0.05,空值率大于50%,相关性大于0.8的特征。

selected_data, drop_list = toad.selection.select(train, target="label", empty=0.5, corr=0.7, iv=0.05, return_drop=True)

selected_data为保留下来的dataframe
toad -评分卡模型
drop_list为删除的特征:
toad -评分卡模型

上一篇:[BSidesCF 2020]Had a bad day


下一篇:图论中DFS与BFS的区别、用法、详解?