本站原创文章,转载请说明来自《老饼讲解-机器学习》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. 入参说明
数据类型:pandas.DataFrame
数据类型:单列pandas.core.series
数据类型:str
数据类型: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. 出参说明
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