首页
学习
活动
专区
工具
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)用来衡量特征的预测力,将被用于特征选择。下面给出WoE和IV的公式。...通常特征分析报告可提供WoE和IV。我在Python中定义了一个函数自动生成这个报告。以“Age”特征为例,其特征分析报告如图5所示 ?... — 给定属性的证据权重 n —模型特征数量 Factor, Offset — 缩放参数 前四个参数的计算方法在前面已经提到过,这里给出最后两个参数factor和offset的计算方法。

1.3K20

风控模型—WOE与IV指标的深入理解应用

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

3.1K64
  • 风控建模中的IV和WOE

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

    2.1K30

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

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

    90510

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

    它们最大的区别是,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值越大,该特征越要保留。...这里我们用sklearn中的SelectFromModel来完成。 2.5.5 共线性问题 2.6 特征选择 由于我们上一步采用的是 WOE 编码,所以这里选用信息量 IV 作为准则。

    2K70

    信用的效能等级评价算法

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

    1.3K30

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

    根据卡方分布,卡方统计量以及自由度,可以确定在原假设成立的情况下获得当前统计量以及更极端情况的概率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.2K20

    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.9K20

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

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

    1.4K30

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

    单因子分析,用来检测各变量的预测强度,方法为WOE、IV; WOE 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值来调整分箱结构并重新计算WOE和IV,直到IV达到最大值,此时的分箱效果最好...可根据Logistic Regression模型系数来确定每个变量的权重,保留权重高的变量。通过协方差计算的相关性大于0.7的变量一般只保留IV值最高的那一个。...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    47040

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

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

    1.2K30

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

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

    4.1K41

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

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

    10.3K89

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

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

    4.9K34

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

    如果想要在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

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

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

    1.6K30

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

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

    1.4K20

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

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

    1.8K31

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

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

    1.5K22
    领券