1 说明
主要是根据 IV值 和 随机森林 这两种方法来挑选特征
代码链接: https://github.com/spareribs/kaggleSpareribs/blob/master/Overdue/ml/features/feature_iv_rf.py
2 代码使用方法
sklearn_gcv.py 默认使用Logistic Regression 做示例
- 【必须】执行 features 中的 base.py 先把数据处理好 [PS:需要根据实际情况修改]
- 【可选】执行 features 中的 feature_iv_rf.py 进行特征筛选
- 【必须】再通过 code 中的 sklearn_train.py 训练,观察结果
3 核心代码说明
3.1 IV值挑选特征
关于 IV值的计算方法可以参考这个博客 https://blog.youkuaiyun.com/kevin7658/article/details/50780391/
IV 值 计算参考 https://blog.youkuaiyun.com/l75326747/article/details/84326897
IV值 范围 选择 参考 https://www.jianshu.com/p/bd350351aa5c
# 计算 IV 函数
def cal_iv(x, y, n_bins=6, null_value=np.nan, ):
# 剔除空值
x = x[x != null_value]
# 若 x 只有一个值,返回 0
if len(x.unique()) == 1 or len(x) != len(y):
return 0
if x.dtype