目录
老饼讲解:一步一步上手学习

【说明】函数说明-assist.linear_info

作者 : 老饼 发表日期 : 2026-03-21 01:28:24 更新日期 : 2026-05-13 00:52:06
老饼讲解-简单易懂,干货满满,爽过嗦螺!


API说明:assist.linear_info - 变量线性信息

一、函数说明

assist.linear_info用于计算数据的多重共线性信息,包括PCA贡献与相关系数矩阵。

完整调用格式如下:

pca_info,corr_info = linear_info(x,y,data_trans=None,bin_sets=None)
  • 入参说明

x:变量数据。

         数据类型:pandas.DataFrame

y:样本标签,0为好,1为坏。

         数据类型:单列pandas.core.series

data_trans:数据的转换类型(可设为None、'grp'、'woe')。

         数据类型:str

bin_sets:分箱设置。

         数据类型:list

当data_trans=None,bin_sets=None时,inear_info直接计算x、y的多重共线性信息,

当data_trans设为'grp'或'woe'时,必须设置bin_sets,此时先将x按bin_sets转换为'grp'或'woe',再进行计算。

总的来说,inear_info就是计算x、y的多重共线性信息,并可指定是计算x本身,还是x的分组数据或woe数据。

  • 出参说明

pca_info:变量的pca贡献,与累计贡献。

corr_info:相关系数矩阵。

二、函数示例

linear_info使用示例如下:

import bbbrisk as br

#加载数据                                                                   
data = br.datasets.load_bloan()                                           # 加载数据
x = data.iloc[:,:-1]                                                      # 变量数据
y = data['is_bad']                                                        # 标签数据
# 自动分箱                                                                
bin_sets = br.bins.batch.autoBins(x, y,enum_var=['city','marital'])       # 自动分箱
x_grp,_  = br.encode.grp.to_grp(x,bin_sets)                               # 将数据转换为分组数据

# 数据的多重共线性分析
pca,corr = br.assist.linear_info(x_grp,y )                                # 直接对数据进行分析
pca,corr = br.assist.linear_info(x,y,data_trans='grp',bin_sets=bin_sets ) # 将数据转为分组后再分析
pca,corr = br.assist.linear_info(x,y,data_trans='woe',bin_sets=bin_sets ) # 将数据转为woe后再分析

# 打印结果
print('\n* PCA贡献:\n',pca)                                               # 打印PCA贡献
print('\n* 相关系数矩阵:\n',corr)                                         # 打印相关系数矩阵

运行结果如下:

PCA贡献与相关系数矩阵

PCA信息中,第1列是主成份的贡献占比,第2列是累计占比。

从结果就可看到,前8个主成份的贡献占比都大于4%,因此,它并不存在非常严重的线性信息冗余。



图标 评论
添加评论