易于计算证据权重(WOE)和信息价值(IV)的包,支持交叉特性

FastIV的Python项目详细描述


使用指南

安装

可以选择通过setup.py安装或者通过pip安装

cd fastiv
python setup.py install

或者

pip install fastiv

使用

FastIV支持便捷的Information Value (IV)计算,同时也支持交叉特征的计算。IV计算是通过使用决策树的方式,确定最终分箱的方法,从而计算出相应的IV值。 通过使用交叉的方式,可以确定组合特征的IV值,从中可以选出更有效的特征,加入到模型中。这一方法的思想,借鉴于第四范式的“AutoCross”。其中特征之间的交叉过程, 是通过决策树的分裂来实现的。 同时,我们提供了将决策树按照一定格式输出的接口,可以方便的将分裂节点打印出来。使用该包的调用代码示例:

from fastiv import FastIV

fiv = FastIV(criterion="entropy",
             min_samples_leaf=50,
             max_leaf_nodes=8,
             others_threshold=200)

# 选择要交叉的特征
features = ['feature1', 'feature2']

# 计算iv和iv_dict
iv, iv_dict = fiv.fast_iv(df[features], y)

# 以DataFrame格式输出分箱情况
df_export = fiv.export(mode="df")

# 输入特征,返回所属箱对应的节点索引
bins = fiv.transform(df[features].values)

完整的代码可以参考example.py

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JFrame中的Java多线程   java Servlet异常映射   java无法从输出流读取   swing Java带来的小程序GUI问题   java什么原因导致错误“'void'类型此处不允许”以及如何修复它?   Java选择器select(长)与selectNow的区别   java自定义arraylist<mygames>获得不同   java Icepdf注释让页面消失   java反向整数数组   java I在生成同步“无法解析配置的所有依赖项”时遇到此错误:app:debugRuntimeClasspath   多个虚拟机上的java线程访问单个DB实例上的表,有时会导致性能低下和异常   swing更改Java中的默认按钮,使其看起来“更好”   java慢速MQ主题订阅。并行化不能提高性能   java运行Boggle Solver需要一个多小时。我的代码怎么了?   数据库中的java循环与应用程序中的java循环   正则表达式匹配${123…456}并在Java中提取2个数字?   java如何制作我们软件的试用版   Java内存参数计算   从另一个类调用方法时出现java问题