Python机器学习:corr()分析变量之间的相关关系

变量之间存在多重共线性的情况下会影响模型的精度,这里用相关矩阵corr()和热力图heatmap()可以直观地观察变量之间的相关关系,进而判断是否要对自变量进行删除,或者降维的操作。

首先用corr()构造相关矩阵研究变量之间的相关关系:

corr_data = data.corr()
corr_data

代码讲解:

data是要进行分析的数据集;

corr()是相关矩阵,是DataFrame内置函数,不用另外调包也能生成;

corr()括号里面没有填参数时默认是皮尔逊相关系数,corr(method = 'pearson');

corr(method = 'spearman'),斯皮尔曼等级相关系数,用来分析非正态分布的数据;
corr(method = 'kendall'),秩相关系数,用来分析两定序变量相关关系;

运行结果:

可以发现字段太多,要找到强相关关系的字段并不是很容易。需要再配合热力图使用。


import seaborn as sns
ax = sns.heatmap(corr_data)

代码讲解:

seaborn 是Python中的一个可视化库;

sns. heatmap()指调用热力图方法,corr_data是上面计算完相关关系的二维表;

运行结果:

 转为热力图就非常直观啦:从右侧可以了解越接近白色的部分代表相关系数越高,有几个字段是具有强相关性的,需要进行删除或者降维操作。

  • 13
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值