1、通过matplotlib实现数据可视化
2、概念详解:
3、具体实现
from pandas import read_csv
import matplotlib.pyplot as plt
'''
直方图又叫做质量分布图,是一种统计报告图,
一般用横轴表示数据类型,纵轴表示分布情况。直方
图可以非常直观地展示每个属性的分布状况,通过图
表可以很直观的看到数据是什么分布(高斯分布、指
数分布)。
'''
filename = r'../pima_data.csv'
names = ['preg','plas','pres','skin','test','mass','pedi','age','class']
data = read_csv(filename,names=names)
data.hist()
plt.show()
'''
密度图是一种表现与数据值对应的边界或域对象
的图形表示方法,一般用于呈现连续变量。密度图类
似于对直方图进行抽象,用平滑的线来描述数据的分布。
'''
names = ['preg','plas','pres','skin','test','mass','pedi','age','class']
data = read_csv(filename,names=names)
data.plot(kind='density',subplots=True,layout=(2,5),sharex=False)
plt.show()
'''
箱线图又称盒须图、盒式图,是一种用于显示一组数据分散情况的
统计图。中位线、下四分位数、和上四分位数。
'''
names = ['preg','plas','pres','skin','test','mass','pedi','age','class']
data = read_csv(filename,names=names)
data.plot(kind='box',subplots=True,layout=(3,3),sharex=False)
plt.show()
'''
相关矩阵图用来展示两个不同属性相互影响的程度,
如果两个属性按照相同方向变化,说明是正向影响。如果
两个属性朝反方向变化,说明是反向影响。把所有属性两
两影响的关系展示出来的图表就叫做相关矩阵图。
'''
import numpy as np
names = ['preg','plas','pres','skin','test','mass','pedi','age','class']
data = read_csv(filename,names=names)
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
names = ['preg','plas','pres','skin','test','mass','pedi','age','class']
data = read_csv(filename,names=names)
scatter_matrix(data)
plt.show()