预处理--python实现可视化数据集(散点图矩阵+关联矩阵热力图分析特征相关性)

探索性数据分析(EDA)是在进行机器学习模型训练之前值得推荐的重要一步。其中:
散点图矩阵,把数据集中不同特征之间的成对相关性在一张 图上直观地表示出来;
关联矩阵来量化和概括变量之间的线性关系,可以把关联矩阵理解为协方差矩阵的修正;

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np

df = pd.read_csv('xxx\\housing.data.txt',
                 header=None,
                 sep='\s+')

df.columns = ['CRIM', 'ZN', 'INDUS', 'CHAS',
              'NOX', 'RM', 'AGE', 'DIS', 'RAD',
              'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV']
print(df.head())

# 散点图矩阵
cols = ['LSTAT', 'INDUS', 'NOX', 'RM', 'MEDV']

sns.pairplot(df[cols], kind='reg', size=2.5)
plt.tight_layout()
# plt.savefig('images/10_03.png', dpi=300)
plt.show()

# 用关联矩阵查看关系
cm = np.corrcoef(df[cols].values.T)
#sns.set(font_scale=1.5)

# 当annot为True时,在heatmap中每个方格写入数据
# fmt,格式设置
# annot_kws,当annot为True时,可设置各个参数,包括大小,颜色,加粗,斜体字等
#   annot_kws={'size':9,'weight':'bold', 'color':'blue'}
# 参数cbar为TRUE即绘制颜色条,为False就不绘制颜色条
# square:是否是正方形
hm = sns.heatmap(cm,
                 cbar=True,
                 annot=True,
                 square=True,
                 fmt='.2f',
                 annot_kws={'size': 15},
                 yticklabels=cols,
                 xticklabels=cols)

plt.tight_layout()
# plt.savefig('images/10_04.png', dpi=300)
plt.show()

运行结果:
CRIM ZN INDUS CHAS NOX … TAX PTRATIO B LSTAT MEDV
0 0.00632 18.0 2.31 0 0.538 … 296.0 15.3 396.90 4.98 24.0
1 0.02731 0.0 7.07 0 0.469 … 242.0 17.8 396.90 9.14 21.6
2 0.02729 0.0 7.07 0 0.469 … 242.0 17.8 392.83 4.03 34.7
3 0.03237 0.0 2.18 0 0.458 … 222.0 18.7 394.63 2.94 33.4
4 0.06905 0.0 2.18 0 0.458 … 222.0 18.7 396.90 5.33 36.2

[5 rows x 14 columns]

运行结果图:

在这里插入图片描述

在这里插入图片描述

  • 3
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值