bbbrisk-api说明

【说明】assist.linear_info

作者 : 老饼 发表日期 : 2023-01-14 13:42:35 更新日期 : 2025-03-05 16:30:38
本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com




assist.linear_info - 线性信息函数

一、函数说明

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

完整调用格式如下:

pca_info,corr_info = linear_info(x,y,data_trans=None,bin_sets=None)

1. 入参说明

  • 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数据



2. 出参说明

  • 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信息中,第1列是主成份的贡献占比,第2列是累计占比

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






好了,以上就是assist.linear_info函数的使用方法了~







 End 





联系老饼