特征筛选之—IV值

一.定义

IV(Infromation Value),信息价值,用来表示特征对目标预测的贡献程度,即特征的预测能力,一般来说,IV值越高,该特征的预测能力越强,信息贡献程度越高。

二.限定条件

IV值的计算有一定的限定条件:

(1)面向的任务必须是有监督的任务;

(2)预测目标必须是二分类的。

三.IV取值区间及常用评价基准

IV值的取值区间为:[0,正无穷)。

IV值取值含义:

(1)IV<0.02:无用特征

(2)0.02<IV<0.1:弱价值特征

(3)0.1<IV<0.3:中价值特征

(4)0.3<IV<0.5:强价值特征

(5)IV>0.5:价值过高,不真实

四.计算方式

由于IV值的计算是以WOE值为基础的,所以计算IV值之前,首先得计算WOE值。

(1)WOE

  • WOE定义:Weight Of Evidence,证据权重,表示描述一个可预测的变量与二分类变量之间的关系。
  • 使用:在使用WOE之前,需要对变量进行分箱处理,分箱的操作包括:对于连续型变量可以采用:等距分箱,等频分箱,自定义间隔;对于离散型变量,如分箱太多&
  • 18
    点赞
  • 157
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,为了更好地说明sklearn中特征分箱、woeiv计算和特征选择的操作,我来给你提供一些简单的示例代码。 1. 特征分箱 使用preprocessing模块中的KBinsDiscretizer类进行等频分箱: ```python from sklearn.preprocessing import KBinsDiscretizer import numpy as np # 构造一组连续型变量作为示例数据 continuous_var = np.random.rand(1000) # 进行等频分箱 est = KBinsDiscretizer(n_bins=10, encode='ordinal', strategy='quantile') est.fit(continuous_var.reshape(-1, 1)) discretized_var = est.transform(continuous_var.reshape(-1, 1)) # 输出分箱后的结果 print(discretized_var[:10]) ``` 2. WOEIV计算 使用iv_woe模块中的WOE和IV类计算变量的WOEIV: ```python from iv_woe import iv_woe import pandas as pd import numpy as np # 构造一组示例数据 df = pd.DataFrame({'var1': np.random.rand(1000), 'var2': np.random.rand(1000), 'target': np.random.randint(0, 2, size=1000)}) # 计算变量的WOEIV iv = iv_woe(df, 'target', ['var1', 'var2']) print(iv) ``` 3. 特征选择 使用feature_selection模块中的SelectKBest类进行卡方检验特征选择: ```python from sklearn.datasets import load_iris from sklearn.feature_selection import SelectKBest from sklearn.feature_selection import chi2 # 加载iris数据集 iris = load_iris() X, y = iris.data, iris.target # 进行卡方检验特征选择 selector = SelectKBest(chi2, k=2) selector.fit_transform(X, y) # 输出选择的特征 print(selector.get_support(indices=True)) ``` 希望以上示例代码能够对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值