首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Python/pandas中获得证据(WOE)和信息价值(IV)的权重?

在Python/pandas中获得证据权重(WOE)和信息价值(IV)的权重,可以通过以下步骤实现:

  1. 导入所需的库和模块:
代码语言:txt
复制
import pandas as pd
import numpy as np
from sklearn.utils import resample
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import roc_auc_score
  1. 加载数据集并进行预处理:
代码语言:txt
复制
# 假设数据集为df,其中包含特征列'feature'和目标列'target'
df = pd.read_csv('your_dataset.csv')

# 将目标列转换为数值型
le = LabelEncoder()
df['target'] = le.fit_transform(df['target'])

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(df['feature'], df['target'], test_size=0.2, random_state=42)
  1. 计算WOE和IV:
代码语言:txt
复制
def calculate_woe_iv(feature, target):
    df = pd.DataFrame({'feature': feature, 'target': target})
    df['non_target'] = 1 - df['target']
    total_target = df['target'].sum()
    total_non_target = df['non_target'].sum()
    df['target_pct'] = df['target'] / total_target
    df['non_target_pct'] = df['non_target'] / total_non_target
    df['woe'] = np.log(df['target_pct'] / df['non_target_pct'])
    df['iv'] = (df['target_pct'] - df['non_target_pct']) * df['woe']
    iv = df['iv'].sum()
    return df['woe'], iv

woe, iv = calculate_woe_iv(X_train, y_train)
  1. 可以根据WOE和IV的值进行特征选择或进一步分析。

需要注意的是,上述代码仅提供了计算WOE和IV的基本方法,实际应用中可能需要根据具体情况进行适当的调整和优化。此外,腾讯云并没有直接相关的产品或服务与WOE和IV的计算相关联,因此无法提供相关产品和链接地址。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

用机器学习做信用评分

银行业通常用它作为支持信贷申请决策方法。本文讲述如何用Python(Pandas、Sklearn)开发标准评分卡模型,它已成为一种最受欢迎且最简单衡量客户信用形式。 ?...以下是分桶后输出样例。 ? 图4 分桶处理“年龄” 所有特征分组后,特征工程就完成了。接下来是计算每个属性证据权重(WoE)以及每个特点(特征)信息价值。...计算证据权重(WoE)目的是为每个分类变量分配一个唯一值。信息价值(IV)用来衡量特征预测力,将被用于特征选择。下面给出WoEIV公式。...通常特征分析报告可提供WoEIV。我在Python定义了一个函数自动生成这个报告。以“Age”特征为例,其特征分析报告如图5所示 ?... — 给定属性证据权重 n —模型特征数量 Factor, Offset — 缩放参数 前四个参数计算方法在前面已经提到过,这里给出最后两个参数factoroffset计算方法。

1.3K20

风控模型—WOEIV指标的深入理解应用

WOEIV应用价值 Part 2. WOEIV计算步骤 Part 3. WOE定义初步猜想 Part 4. 从贝叶斯角度理解WOE Part 5....WOEIV应用价值 WOE(Weight of Evidence)叫做证据权重,大家可以思考下为什么会取这个名字? 那么WOE在业务中常有哪些应用呢?...WOEIV计算步骤 在定性认识到WOEIV应用价值后,我们就慢慢揭开其面纱,从理性角度进行分析。通常其公式定义如下: 而IV计算公式定义如下,其可认为是WOE加权。...其中, 表示后验项; 表示根据观测数据更新信息,即WOE; 表示先验项。 如果搜集到数据与先验认知差距不大,我们就认为这个数据得到证据价值不大,反之则认为带来信息越多。...因此,WOE用以衡量对先验认识修正增量,这就是WOE被取名为“证据权重原因。 Part 5.

2.6K63
  • 风控建模IVWOE

    在风控建模IV(信息价值)WOE(证据权重)分别是变量筛选变量转换不可缺少部分。 很多文章已经讨论过这两个变量,本文在吸收前人优秀成果基础上,希望用通俗易懂语言让大家快速理解这两个变量。...本文所讲IV就可以帮助我们挑选变量,决定哪些变量可以进入到模型,哪些变量最好不要进入模型。其它挑选变量方法:GBDT、随机森林、相关系数、逐步回归等会在后续文章详细说明。...用Python计算WOEIV 接下来用一个实例说明如何在python中计算变量WOEIV 3.1 加载数据 由于篇幅原因,不在文中放具体数据,如需要,请到公众号回复“用python计算iv”...import pandas as pd import numpy as np df = pd.read_csv("data.csv") 3.2 变量挑选阶段用等频方法粗略算WOEIV 在变量挑选阶段一般会用等频方式...本文是本人进行IV计算后一些见解,如有不当之处恳请指正。如果想更深入地了解IVWOE,推荐参考文献写得很好两篇文章。

    2.1K30

    原创|手把手教你构建评分卡模型

    四、WOE编码 分箱之后输入变量变成一系列取值为0或1变量分箱,接下来我们需要对它们进行有监督WOE证据权重,weight of evidence)编码,将“1”转换成其他更加有预测能力数字。...当分箱i违约客户占比高于总体时WOE>0,小于总体时WOE<0;违约客户占比总体一致时,WOE值为0,分箱没有预测能力 从上面的式子可以看出,WOE值能够反映分箱对目标预测贡献情况,在分箱分类信息...“1”基础上增加该分箱权重信息,因此WOE被称为“证据权重”。...评分卡模型中常用IV值(信息价值,information value)来表示变量预测能力,变量IV值是其所有分箱IV值之和: 由于公式两个项同向,故IV≥0,IV值越大,变量对目标的预测能力越强...:秉工业强国之梦,产学研政结合,挖掘数据价值; 数据可视化组:将信息与艺术融合,探索数据之美,学用可视化讲故事; 网络爬虫组:爬取网络信息,配合其他各组开发创意项目。

    67010

    评分卡系列(二):特征工程

    它们最大区别是,pandas默认只处理字符串类别变量,sklearn默认只处理数值型类别变量(需要先 LabelEncoder ) 2.3.6 WOE编码 在第一节我们介绍了总体发生比率信息比率:...后者很好度量了借款人信息对好人可能性贡献程度,其自然对数 ln(I(x)) 是评估向量x携带信息一种有效途径,我们将这个数值称之为 x 提供证据权重(weights of evidence,WOE...2.5.2 Filter:信息量(Info Value, IV) 如果想考察某个特征区分好坏借款人表现,我们可以用该特征均值之差来表示 然而这个差并没有考虑到某些x值信息量远高于其他情况,于是我们可以用权重之差来判断...将散度离散化便得到信息量(IV). 如果一个特征有K个类别,且用表示第k类好人和坏人数量,用表示好人和坏人数量,则IV可以表示为: 一般IV值越大,该特征越要保留。...这里我们用sklearnSelectFromModel来完成。 2.5.5 共线性问题 2.6 特征选择 由于我们上一步采用WOE 编码,所以这里选用信息IV 作为准则。

    1.9K70

    信用效能等级评价算法

    ,比如: WOE/IV; ROC/AUC; K-S指标; GINI系数; 稳定性指标,用于评估模型在训练样本测试样本预测能力一致性,PSI指标。...对这些指标定义进行基础解释: 1.WOE&IV WOE(Weight of Evidence)叫做证据权重IV(Information Value)叫做信息价值,是一组评估变量预测能力指标。...下面表格展示就是年龄、性别及婚姻状况三个变量相关好坏样本数据以及计算出对应WOEIV值。WOE计算公式是:ln[(违约/总违约)/(正常/总正常)]。...比如对于年龄18~25组别,WOE=In[(131/总违约样本数)/(1016/总正常样本数)]。根据WOE值,可以进一步计算出IV值。...在此不对具体计算公式逻辑进行解释,大家可以理解成,WOEIV都是使用样本好坏比例数据转换成指标。

    1.3K30

    Machine Learning-特征工程之卡方分箱(Python

    六、Python代码实现 1.导入相关库 import numpy as np from scipy.stats import chi2 import pandas as pd from pandas...每组只包含一个变量值. #分组区间是左闭右开cutoffs = [1,2,3],则表示区间 [1,2) , [2,3) ,[3,3+)。...''' 计算IV值 param df:数据集pandas.dataframe param var:已分组列名,无缺失值 param target:响应变量(0,1)...['iv'] = (gbri[1] - gbri[0])*gbri['woe'] return gbri['iv'].sum() 七、Python代码使用 cutoffs = chiMerge(...1.Python评分卡建模—卡方分箱(1) 2.Python评分卡建模—卡方分箱(2)之代码实现 3.python评分卡建模—实现WOE编码及IV值计算 (以上文章均来自“风控建模”公众号,作者为东东

    5.8K20

    一文介绍特征工程里的卡方分箱,附代码实现

    根据卡方分布,卡方统计量以及自由度,可以确定在原假设成立情况下获得当前统计量以及更极端情况概率p。如果p很小,说明观察值与理论值偏离程度大,应该拒绝原假设。否则不能拒绝原假设。...六、Python代码实现 1.导入相关库 import numpy as np from scipy.stats import chi import pandas as pd from pandas import...每组只包含一个变量值. #分组区间是左闭右开cutoffs = [1,2,3],则表示区间 [1,2) , [2,3) ,[3,3+)。...['iv'] = (gbri[1] - gbri[0])*gbri['woe'] return gbri['iv'].sum() 7.Python代码使用 cutoffs = chiMerge(...[1] Python评分卡建模—卡方分箱(1) [2] Python评分卡建模—卡方分箱(2)之代码实现 [3] python评分卡建模—实现WOE编码及IV值计算 (以上文章均来自“风控建模”公众号

    4.1K20

    【干货】风控建模把原始变量转成WOE实现

    对于WOE原理不清楚小伙伴,可以先看下本公众号之前文章:风控建模IVWOE。 本文重点讲解用Pythontoad库实现变量WOE转换。...一、WOE定义 WOE(Weight of Evidence)叫做证据权重。可以写成两种形式,分别对应了两种不同解释。...表 1 - 极端例子1(用第一种方法算WOE) 从表1知,如果该箱坏样本在总坏样本占比该箱好样本在总好样本占比相同,WOEi为0。...可以发现WOE就是计算第i个分箱,坏样本分布和好样本分布之间差异,或者该箱坏好比总体坏好比差异。...至此,风控建模把原始变量转成WOE实现已讲解完毕 往期回顾: 一文囊括Python函数,持续更新。。。 一文囊括Python有趣案例,持续更新。。。

    1.2K30

    评分卡设计_创建绿色饭店原则

    单因子分析,用来检测各变量预测强度,方法为WOEIVWOE WOE(weight of Evidence)字面意思证据权重,对分箱后每组进行。...IV IV(information value)衡量是某一个变量信息量,公式如下: N为分组组数; IV可用来表示一个变量预测能力。...IV 预测能力 <0.03 无预测能力 0.03~0.09 低 0.1~0.29 0.3~0.49 高 >=0.5 极高 根据IV值来调整分箱结构并重新计算WOEIV,直到IV达到最大值,此时分箱效果最好...可根据Logistic Regression模型系数来确定每个变量权重,保留权重变量。通过协方差计算相关性大于0.7变量一般只保留IV值最高那一个。...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    45740

    基于客户数据银行信用卡风险控制模型研究-金融风控模型标准评分卡

    一、知识准备 1.1 熟悉Python数据分析库numpy、pandasscikit算法库 1. 2 熟悉逻辑回归随机森林算法 二、项目主题 在银行借贷场景,评分卡是一种以分数形式来衡量一个客户信用风险大小手段...,它衡量向别人借钱的人(受信人,需要融资公司)不能如期履行合同还本付息责任,并让借钱给别人的人(授信人,银行等金融机构), 造成经济损失可能性。...一般来说,评分卡打出分数越高,客户信用越好,风险越小。 这些”借钱的人“,可能是个人,有可能是有需求公司企业。...4.3.2 封装WOEIV函数 为了衡量特征上信息量以及特征对预测函数贡献,银行业定义了概念Information value(IV) IV = (good% - bad%) * WOE 银行业中用来衡量违约概率指标...,中文叫做证据权重(weight of Evidence),本质其实就是优质客户 比上坏客户比例对数。

    1.2K30

    【干货】手把手教你搭建评分卡模型

    1、WOE WOE全称是“Weight of Evidence”,即证据权重WOE是对原始自变量一种编码形式。...从这个公式我们可以体会到,WOE表示实际上是“当前分组响应客户占所有响应客户比例”“当前分组没有响应客户占所有没有响应客户比例”差异。...2、IV IV全称是Information Value,中文意思是信息价值,或者信息量;用来衡量自变量预测能力;类似的指标还有信息增益、基尼系数等等。...相关性分析只是初步检查,进一步检查模型VI(证据权重)作为变量筛选依据。...5.建立模型 证据权重(Weight of Evidence,WOE)转换可以将Logistic回归模型转变为标准评分卡格式。

    9.9K88

    逻辑回归项目实战-附Python实现代码

    这篇文章是逻辑回归三部曲第三部,介绍sklearn库逻辑回归参数含义使用方法,并给出项目实战Python代码。...用pandas库导入待建模csv格式数据。...在Python可以用describe()函数方便地获取样本数量,变量均值,变量最小值、25%分位数、50%分位数、75%分位数、最大值等信息。 data.describe() 结果: ?...由于describe中有变量最小值最大值信息,可以分析该值是否符合常识来判断变量是否正确。比如人年龄不可能是个负数,如果年龄存在负数说明该变量数据出现错误。...对于用IV挑选变量,在风控建模IVWOE一文中有详细阐述,感兴趣可以仔细阅读一遍,本文只引用计算函数。

    4K41

    基于Python信用评分模型开发-附数据代码

    主要有单变量特征选择方法基于机器学习模型方法。 5.模型开发,该步骤主要包括变量分段、变量WOE证据权重)变换逻辑回归估算三部分。...图2-1 原始数据变量 ❸ 数据预处理 在对数据处理之前,需要对数据缺失值异常值情况进行了解。Python内有describe()函数,可以了解数据集缺失值、均值中位数等。...5.3相关性分析IV筛选 接下来,我们会用经过清洗后数据看一下变量间相关性。注意,这里相关性分析只是初步检查,进一步检查模型 VI (证据权重)作为变量筛选依据。...❻ 模型分析 证据权重(Weight of Evidence,WOE)转换可以将Logistic回归模型转变为标准评分卡格式。...在 Python ,可以利用 sklearn.metrics,它能方便比较两个分类器,自动计算 ROC AUC 。

    4.6K34

    特征锦囊:一文介绍特征工程里的卡方分箱,附代码实现

    如果想要在Python里生成卡方分布表,可以尝试下面的代码: # 用Python生成卡方分布临界值表 import numpy as np import pandas as pd from scipy.stats...(3)不断重复(1)(2)直到计算出的卡方值都不低于事先设定阈值,或者分组数达到一定条件(最小分组数5,最大分组数8)。...每组只包含一个变量值. #分组区间是左闭右开cutoffs = [1,2,3],则表示区间 [1,2) , [2,3) ,[3,3+)。...[1] - gbri[0])*gbri['woe'] return gbri['iv'].sum() Step7:Python代码使用 cutoffs = chiMerge(data,'MAX_AMOUNT...Reference [1] Python评分卡建模—卡方分箱(1) [2] Python评分卡建模—卡方分箱(2)之代码实现 [3] python评分卡建模—实现WOE编码及IV值计算 ?

    2.8K20

    分享一个能够写在简历里企业级数据挖掘实战项目

    使用工具: pythonpandas、numpy、matplotlib、seaborn、sklearn库 在做一个数据挖掘项目前,需要预先拟好主要思路,比如目标是什么,先做什么,再做什么,有哪些注意事项等等...客户价值 为了更加细致挖掘客户价值,选择RFM客户价值模型进行分析。 数据预处理 数据探索 具体理论可以参见Python数据分析之数据探索分析(EDA)。...,⽐,将几万个样本分成100组,或50组(尽量有监督分箱) 确保每⼀组中都要包含两种类别的样本,否则IV值会⽆法计算 我们对相邻组进⾏卡方检验,卡方检验P值很大组进⾏合并,直到数据组数⼩于设定...计算CrIV值 以计算用户转化率为例,进行WOE分箱并计算对应IV值。通过分析得到如下结论。 用户转化率在小于1.14%时用户留存较多。...价值模型 以客户转化率做目标变量,利用随机森林回归模型计算出各价值指标权重,然后分布计算出每个用户RFM得分,分别以权重,及标签组合来表示价值得分。本次RFM模型构建方法仅供参考!

    1.5K30

    分享一个能够写在简历里企业级数据挖掘实战项目

    使用工具: pythonpandas、numpy、matplotlib、seaborn、sklearn库 在做一个数据挖掘项目前,需要预先拟好主要思路,比如目标是什么,先做什么,再做什么,有哪些注意事项等等...,⽐,将几万个样本分成100组,或50组(尽量有监督分箱) 确保每⼀组中都要包含两种类别的样本,否则IV值会⽆法计算 我们对相邻组进⾏卡方检验,卡方检验P值很大组进⾏合并,直到数据组数⼩于设定...计算CrIV值 以计算用户转化率为例,进行WOE分箱并计算对应IV值。通过分析得到如下结论。 用户转化率在小于1.14%时用户留存较多。...客户价值度用来评估用户价值情况,是区分客户价值重要模型参考依据,也是衡量不同营销效果关键指标之一。价值度模型一般基于交易行为产生,衡量是有实体转化价值行为。...价值模型 以客户转化率做目标变量,利用随机森林回归模型计算出各价值指标权重,然后分布计算出每个用户RFM得分,分别以权重,及标签组合来表示价值得分。本次RFM模型构建方法仅供参考!

    1.8K31

    银行信用评分卡WOE在干什么?

    IV值我相信相关领域的人都用过,所以本文不展开讲。 本文主要讲的是WOE具有什么意义,或者说我们能从WOE获得什么信息。...回到正题(WOE单调意义) 四、 WOE呈线性&WOE编码意义 五、 浅谈WOE与贝叶斯 一、先总结WOE意义(这样才有看下去动力 计算woe(以及IV意义我所知有以下几点: IV值可以衡量各变量对...对连续型变量,woeIV值为分箱合理性提供了一定依据。...分箱处理连续型变量会有信息损失,但由于绝大多数情况下连续型变量对odds提升都不是线性,这里能产生负面影响远比信息损失要大,因此一般都需要做分箱处理。 用woe编码可以处理缺失值问题。...在logistic回归中: 【OR意义】当 增加1个单位时,odds将变为原来 倍: OR在logistic意义在上面讲完了,下面来讲下OR是怎么WOE联系起来。 c.

    1.3K20

    关于互联网金融授信产品风控建模

    具体使用方法可参考:【Python数据分析基础】: 异常值检测处理 数据分布以及关联性 可以考虑结合可视化方法进一步观察:数据分布是否均衡,数据特征之间联系,以及数据特征与目标变量之间联系等进行了解...然后再进行woe编码,因为woe转换公式与逻辑回归模型上非常相似,便于生成评分系统。 特征选择 特征选择,在数据是非常重要,目的在于帮助我们挑选出最有意义特征。...选择特征最终目的是挑选能区分好用户或坏用户强相关特征。 根据所使用模型可以通过基尼系数或信息价值IV找到显著特征项,也可以通过LASSO、LR、RF模型等对特征做重要性筛选。...IV:基于woe编码,可以衡量特征信息重要程序; LASSO:主要适合基于L1正则惩罚过滤对区分好坏用户不重要特征; LR:通过拟合参数排序得到特征重要性程度; RF:集成学习(bagging)...虽然是传统模型,但是由于其自身特点,加上自变量进行了证据权重转换(WOE),Logistic回归结果可以直接转换为一个汇总表,即所谓标准评分卡格式,这对于区分好坏用户以及评分卡建立非常适用。

    1.5K22
    领券