数据可视化
最快、最有效的方式是通过数据的可视化来加强对数据的理解。
单一图表
1、直方图
2、密度图
3、箱线图
#直方图
#由一系列高度不等的纵向条纹或线段表示数据的分布情况
#直观地看到数据是高斯分布、指数分布、偏态分布
from pandas import read_csv
import matplotlib.pyplot as plt
filename = 'pima_data.csv'
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(filename,names=names)
data.hist()
plt.show()
#密度图
#密度图类似于对直方图进行抽象,用平滑的线描述数据的分布
data.plot(kind='density',subplots=True,layout=(3,3),sharex=False)
plt.show()
#箱线图
#箱线图又称箱形图
#首先画一条中位数线,然后下四分位数和上四分位数画一个盒子,上下各有一条横线,表示上边缘和下边缘
#游离在边缘之外的点为异常值
data.plot(kind='box',subplots=True,layout=(3,3),sharex=False)
plt.show()
多重图表
显示不同属性之间的关联关系
1、相关矩阵图
2、散点矩阵图
#相关矩阵图
#两个不同属性相互影响的程度
#矩阵图法就是从多维问题的事件中找出成对的因素
import numpy as np
correlations = data.corr()
fig = plt.figure()
ax = fig.add_subplot(111)
cax = ax.matshow(correlations,vmin = -1,vmax = 1)
fig.colorbar(cax)
ticks = np.arange(0,9,1)
ax.set_xticks(ticks)
ax.set_yticks(ticks)
ax.set_xticklabels(names)
ax.set_yticklabels(names)
plt.show()
from pandas.plotting import scatter_matrix
#散点矩阵图
#表示因变量随自变量变化的趋势
scatter_matrix(data)
plt.show()