Python中0-1二值数据集相关性分析与关联关系挖掘方案
适用于该数据集的关联分析方法
你的数据包含3个二值(0/1)特征point_1/point_2/point_3和1个连续数值字段values,皮尔逊相关系数仅能捕捉线性关联,因此信息量有限,可尝试以下分析方法:
1. 分组差异显著性检验
- 针对每个二值point字段,做独立样本t检验,验证该字段取0和取1时,values的均值是否存在统计学差异,直接得到单特征对values的影响显著性。
- 参考代码:
from scipy.stats import ttest_ind # 以point_1为例 stat, p_value = ttest_ind( dataframe[dataframe['point_1']==0]['values'], dataframe[dataframe['point_1']==1]['values'] )
p值小于0.05即可认为该特征对values的影响是统计显著的。
2. 分组可视化分析
- 绘制单特征分组箱线图,直观展示每个point取不同值时values的分布差异,比数值指标更易观察异常值、分位差等信息。
- 可以做多特征交叉分组的柱状图,统计不同point取值组合下的values均值,观察多特征共同作用的规律,比如
point_1=0且point_2=1的样本values平均水平是否远高于其他组合。
3. 互信息计算
- 皮尔逊相关性仅对线性关系敏感,互信息可以衡量变量之间所有类型的依赖关系(包括非线性、非单调关系),既可以计算point特征和values的关联强度,也可以计算三个point之间的互信息,判断特征冗余程度。
- 参考代码:
from sklearn.feature_selection import mutual_info_regression # 计算各point与values的互信息,值越高关联越强 mi_score = mutual_info_regression(dataframe[['point_1','point_2','point_3']], dataframe['values'])
4. 回归模型特征重要性分析
- 以三个point为特征,values为目标训练回归模型,通过模型输出的特征重要性量化各point对values的影响程度:
- 线性回归的系数可以直接解释为point取1时,values的平均变化幅度,可解释性极强
- 树模型(比如随机森林回归)的特征重要性可以捕捉非线性影响
- 同时可以查看模型的拟合效果,判断三个point整体对values的解释度有多高。
5. 离散特征关联规则挖掘
- 针对三个二值point特征,可以用Apriori算法挖掘变量之间的共现关联规则,比如是否存在
point_1=0时point_3大概率也为0这类隐含的特征关联规律。
内容的提问来源于stack exchange,提问作者user3234242
相关产品推荐
相关产品推荐

