机器学习之数据可视化

1、通过matplotlib实现数据可视化

  • 单一图表
    • 直方图
    • 密度图
    • 箱线图
  • 多重图表
    • 相关矩阵图
    • 散点矩阵图

2、概念详解:

机器学习之数据可视化_第1张图片
机器学习之数据可视化_第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() #(hist n.直方图)
plt.show()  #见附图1

# =============================================================
# 密度图
'''
    密度图是一种表现与数据值对应的边界或域对象
的图形表示方法,一般用于呈现连续变量。密度图类
似于对直方图进行抽象,用平滑的线来描述数据的分布。
'''
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)   #layout是图表布局
plt.show()  #见附图2

# =============================================================
# 箱线图
'''
    箱线图又称盒须图、盒式图,是一种用于显示一组数据分散情况的
统计图。中位线、下四分位数、和上四分位数。
'''
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)   #layout是图表布局
plt.show()  #见附图3

# =============================================================
# 相关矩阵图
'''
    相关矩阵图用来展示两个不同属性相互影响的程度,
如果两个属性按照相同方向变化,说明是正向影响。如果
两个属性朝反方向变化,说明是反向影响。把所有属性两
两影响的关系展示出来的图表就叫做相关矩阵图。
'''
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()  #见附图4

# =============================================================
# 散点矩阵图
'''
    散点矩阵图表示因变量随自变量变化的大致趋势,据此可以选择合适的函数
对数据点进行拟合。散点矩阵图由两组数据构成多个坐标点,考察坐标点的分布,
可以判断两个变量之间是否存在某种关联或总结坐标点的分布模式。
'''
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()  #见附图5



  • 附录
    机器学习之数据可视化_第3张图片
    机器学习之数据可视化_第4张图片
    机器学习之数据可视化_第5张图片
    机器学习之数据可视化_第6张图片
    机器学习之数据可视化_第7张图片

你可能感兴趣的:(机器学习,python,人工智能)