衡量特征变量对模型的贡献度,试下这类数据探索交叉分析方法

在日常建模过程中,针对模型训练前的样本探索分析,我们往往需要投入一定的时间,其主要目的一方面是了解样本数据的整体分布情况,另一方面是为了探索分析各特征字段的属性,例如样本数量、特征数量、特征类型、缺失占比等。当然,样本的描述性统计分析过程,是数据分析最简单也是非常有必要的环节。但是,在实际建模场景中,对于有监督模型的构建,除了要熟悉特征数据的分布情况之外,还需要对特征变量与目标变量的关系进行交叉分析,这样可以便于了解特征字段对模型的潜在贡献价值,从而实现特征变量筛选与模型性能优化。
对于特征变量X与目标变量Y的交叉探索分析,由于字段从分布类型可以划分为连续型与离散型,且离散型又可以进一步区分二分类与多分类,因此在本文将根据这些细分维度,来全面介绍特征变量与目标字段之间关系的分析思路,具体包括以下几种情况:
(1)目标变量为连续型:
Case1:离散变量X与连续变量Y;
Case2:连续变量X与连续变量Y;
Case3:时间变量X与连续变量Y。

(2)目标变量为离散型:
Case1:离散变量X与二分类变量Y;
Case2:连续变量X与二分类变量Y;
Case3:离散变量X与多分类变量Y;
Case4:离散变量X与多分类变量Y。

为了实现以上各场景下的X与Y的交叉分析,我们围绕具体的测试样本数据,来依次介绍各case的分析过程,同时会结合可视化形式对相关结果进行展示。本文选取的数据包含100条样本和6个字段,部分样例如图1所示。其中,ID为样本主键,X1、X2为特征变量(X1为离散型、X2为连续型),Y1、Y2、Y3为目标变量(Y1为连续型、Y2为二分类型、Y3为多分类型)。
在这里插入图片描述

                                                                 图1 样本数据样例

以上对样本各字段类型的设置,是为了满足前边各case场景下的数据类型要求,以实现相关特征字段之间的联系,接下来我们依次对其进行介绍。
1、离散变量X与连续变量Y
离散型变量X、连续型变量Y分别选取图1中的字段X1、Y1,二者的关系,可以整体分析每个类别变量与数值标签之间的分布关系,具体了解每个类别情况下的标签变量均值,可通过pandas方法绘制数据分布图,而且也可以考虑采用boxplot方法来分析。以上分析思路的具体实现过程如图2所示,输出的可视化结果分别如图3、图4所示。
在这里插入图片描述
图2 离散型X与连续型Y分析

在这里插入图片描述

                                              图3 离散型X与连续型Y结果(pandas)


在这里插入图片描述
图4 离散型X与连续型Y结果(boxplot)

通过以上可视化结果可以得知,特征变量X1各取值(1、2、3)对应目标变量Y的均值比较接近,尤其是X1为1和2时,二者标签的中位数分布也非常接近,尽管X1为3时的中位数较低,但整体上特征X1对标签Y1没有明显的区分度。

2、连续变量X与连续变量Y
连续型变量X、连续型变量Y分别选取图1中的字段X2、Y1,可以通过常见的person相关系数来量化分析二者的关系。同时也可以考虑采用scatter或regplot绘图方法来进行可视化分析。以上分析思路的具体实现过程如图5所示,输出的可视化结果分别如图6、图7所示。
在这里插入图片描述
图5 离散型X与连续型Y分析

在这里插入图片描述
图6 连续型X与连续型Y结果(scatter)


在这里插入图片描述
图7 连续型X与连续型Y结果(regplot)

图5的变量相关性分析,字段X2与Y1的系数分布为二维矩阵类型,在本文测试数据情形下的结果是0.013591,相关性系数数值较低,说明二者相关程度很弱。通过scatter和regplot的可视化绘图结果可以直观再次确认,字段X2与Y1的变化趋势没有明显的联系。

3、时间变量X与连续变量Y
由于本文数据没有时间型变量,为了更好的展示时序数据分布,这里选取样本数据的索引index作为时间变量X,而连续型变量Y为图1中的字段Y1。针对时间变量X与连续变量Y的分布,可以采用plot来绘制可视化结果。以上分析思路的具体实现过程如图8所示,输出的可视化结果分别如图9所示。
在这里插入图片描述
图8 时间型X与连续型Y分析

在这里插入图片描述
图9 时间型X与连续型Y结果

从上图的可视化结果可以看出,时间型变量X(Time)与连续型变量Y1的变化趋势整体表现平稳,但Time在60~80之间稍有明显波动,在实际场景中,可以重点研究时间型字段的具体分布。

4、离散变量X与二分类变量Y
离散型变量X、二分类型变量Y分别选取图1中的字段X1、Y2,一方面可以通过groupby方式来分组了解特征取值的标签分布,另一方面也可以考虑将二者的数据分布通过boxplot绘图方式来展示可视化结果。以上分析思路的具体实现过程如图10所示,输出的可视化结果分别如图11所示。
在这里插入图片描述
图10 离散型X与二分类型Y分析

在这里插入图片描述
图11 离散型X与二分类型Y结果

图10针对特征变量X1取值(1、2、3)的标签均值分布,其结果依次为0.50、0.48、0.45,数值整体上比较接近。因此,在图11的可视化分布上也非常类似,主要体现在特征X1各取值情况下的最大值(1)与最小值(0)是完全一致的,但X1为1的中位数分布较为均匀,而X1为2或3时比较偏离中部位置。

5、连续变量X与二分类变量Y
连续型变量X、二分类型变量Y分别选取图1中的字段X2、Y2,这里可以按照上个case(离散型X与二分类型Y)的分析思路来探索,但这里需要注意的是,为了使boxplot可视化结果更有可读性,图表的横坐标X设置为目标变量Y2。以上分析思路的具体实现过程如图12所示,输出的可视化结果分别如图13所示。
在这里插入图片描述
图12 连续型X与二分类型Y分析

在这里插入图片描述

                                                       图13 连续型X与二分类型Y结果

图12针对二分类型标签Y2取值(0、1)的特征变量X2均值分布,其结果依次为557、552,数值差异并非很明显。同时,从对应图13的可视化结果也可以得到直观了解,Y2在0和1两种取值情况下的分布比较接近。

6、离散变量X与多分类变量Y
离散型变量X、多分类型变量Y分别选取图1中的字段X1、Y3,对于二者的关系可以通过countplot方式来展示直方图进行分析。以上分析思路的具体实现过程如图14所示,输出的可视化结果分别如图15所示。
在这里插入图片描述

                                                       图14 离散型X与多分类型Y分析

在这里插入图片描述

图15 离散型X与多分类型Y结果
从上图的可视化结果可以得知,对于多分类标签Y3的取值情况(1、2、3、4),对应离散型变量X1的数量汇总count分布上有一定差异,各组特点较为明显。

7、连续变量X与多分类变量Y
连续型变量X、多分类型变量Y分别选取图1中的字段X2、Y3,二者关系可以通过boxplot方式绘制其数据分布。以上分析思路的具体实现过程如图16所示,输出的可视化结果分别如图17所示。
在这里插入图片描述

                                                       图16 连续型X与多分类型Y分析

在这里插入图片描述

                                                         图17 连续型X与多分类型Y结果

从上图的可视化结果可以得知,对于多分类标签Y3的取值情况(1、2、3、4),对应连续型变量X2的分布差异较为明显,区分度表现较好。
综合以上内容,我们从目标变量为连续型与离散型两个场景,分别从离散变量X与连续变量Y、连续变量X与连续变量Y、时间变量X与连续变量Y、离散变量X与二分类变量Y、连续变量X与二分类变量Y、离散变量X与多分类变量Y、离散变量X与多分类变量Y共7个case分析了特征变量与目标字段之间的关系,同时采用相关绘图方法实现了可视化分析与解读。
本文的介绍内容,对于数据建模场景中特征与标签的交叉探索分析,是非常重要的环节,为特征字段筛选与模型性能优化提供很的的信息参考价值。
为了便于大家对以上特征交叉探索分析的进一步了解与熟悉,本文额外附带了与以上内容同步的python代码与样本数据,详情请移至知识星球查看相关内容。

~原创文章

随机森林是一种集成学习算法,通过组合多个决策树来进行分类或回归。在随机森林中,变量重要度分析是一种用来衡量每个变量对模型预测结果的影响程度的方法。 Matlab是一种功能强大的数值计算和数据可视化工具,也可以用来进行随机森林变量重要度分析。 在Matlab中,我们可以使用随机森林模型进行变量重要度分析。首先,我们需要准备用于训练模型的数据集。随机森林模型可以处理数值型和类别型的变量,因此可以直接使用原始数据集进行训练。 其次,我们需要在Matlab中调用随机森林模型的函数。Matlab中有多个机器学习工具箱,比如Statistics and Machine Learning Toolbox和Bioinformatics Toolbox,这些工具箱提供了丰富的机器学习算法和函数。 然后,我们可以使用随机森林模型的函数对数据集进行训练,并得到模型对象。在训练过程中,随机森林模型会根据每个变量在决策树中的分割情况来计算变量重要度。 最后,我们可以使用Matlab提供的函数或方法来获取变量重要度的值。在得到随机森林模型对象后,可以使用对象的属性或函数来获取每个变量的重要度值。这些值可以用来衡量每个变量对模型预测结果的贡献。 总之,通过使用Matlab中的随机森林模型及其相关函数,我们可以进行变量重要度分析,了解每个变量对随机森林模型预测结果的贡献程度。这对于理解数据集的关键变量以及优化模型预测结果都具有重要意义。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值