从“时间贫困”到“时间富裕”:我用这套AI系统,建起了持续进账的“内容管道”
2026/1/5 22:37:14
WOE(Weight of Evidence)和IV(Information Value)是评分卡模型中特征筛选的黄金标准。WOE用于特征转换,IV用于特征筛选。本文将提供完整的WOE和IV值计算代码,帮你掌握特征筛选的核心技能。
WOE = ln(坏样本占比 / 好样本占比)
IV = Σ(坏样本占比 - 好样本占比) × WOE
# WOE计算完整代码importpandasaspdimportnumpyasnpdefcalculate_woe_iv(data,feature,target,n_bins=5,method='qcut'):""" 计算WOE和IV值 参数: data: DataFrame,包含特征和目标变量 feature: 特征列名 target: 目标变量列名(0/1,1表示坏样本) n_bins: 分箱数量 method: 分箱方法,'qcut'等频分箱,'cut'等距分箱 返回: woe_iv_df: 包含分箱、WOE、IV的DataFrame total_iv: 总IV值 """# 复制数据df=data[[feature,target]].copy()# 分箱ifmethod=='qcut':df['bin']=pd.qcut(df[feature],q=n_bins,duplicates='drop')else:df['bin']=pd.cut(df[feature],bins=n_bins,duplicates='drop')# 计算每箱统计bin_stats=df.groupby('bin').agg({target:['count','sum']})bin_stats.columns=['total','bad']bin_stats['good']=bin_stats['total']-bin_stats[