python-可视化(Matplotlib、Seaborn)及常用图形


前言

        主要整理自己在机器学习遇到的数据可视化相关的知识点,以及数据分析中常用到图形,及总结不同图形适合的场景。

可视化是展示训练结果的工具,不是机器学习的核心~ 可以画出足够表达意思的图形即可,不深究。


一、matplotlib

官网:https://matplotlib.org/index.html

数据可视化常用的库,直接看官网最好了,有丰富的例子并配有代码,而是最权威的

  • matplot是python的基础的可视化库,可以配置很多参数画出丰富的图形。

二、seaborn

        seaborn是在matplotlib基础上进一步封装,很多方法可以直接使用默认参数,用起来方便,比如底层自动配色,不需要像matplot一样为不同值设置不同颜色

官网:http://seaborn.pydata.org/

有同学翻译和整理的中文文档 https://seaborn.apachecn.org/#/docs/1,可以当作手册查阅。

三、常用图形及使用场景

  1. 关联分布
    1. 散点图
    2. 曲线图
    3. 带置信区间的曲线图
  2. 分布分析
    1. 灰度图,一个粗略的区间计数
    2. 堆叠图,可以比较数据的分布
    3. 核密度分布(ked,Kernel Distribution Estimation),概率密度曲线
  3. 组间分析
    1. 柱状图,组之间定量比较
    2. 堆叠柱状图
    3. 箱线图,一个箱子表示一个维度数据的数据分布,几个重要的线,从上往下python-可视化(Matplotlib、Seaborn)及常用图形
      1. 胡须上限
        1. 最大观测点 = 75%分位数+1.5(75%分位数-25%分位数)
        2. 如果数据集中max值在观测点内,则胡须上限=最大观测点
        3. 如果数据集中有值超过了最大观测点,则这部分数据属于异常点,会被画在最上方,此时胡须上限 = min(最大观测点, max(剔除异常点的数据集))
      2. 75%分位数
      3. 中位数
      4. 25%分位数
      5. 胡须下限
        1. 最小观测点 = 25%分位数 - 1.5(75%分位数-25%分位数)
        2. 如果数据集min值 大于最小观测点,也就是在观测点内,则胡须下限=最小观测点
        3. 否则,小于最小观测点的值属于异常点,剔除掉之后,胡须下限 = max(最小观测点, mix(剔除异常点的数据集))
      6. 除了上述5条线之外,如果在胡须上下限之外有一些点,这些点就是异常点
      7.  
      8.  
      9.  
      10.  

还有些常用的图:

  1. 抖动散点图,适用于离散数据,将重叠的点打散开,左右抖一下分开来画在图上,给数据加噪音
  2. 蜂群图,和抖动的作用一样,适用于离散数据,将重叠的点打散开,按照人字往左右排
  3. 逻辑回归图,适合二值变量,比如某个维度只有两个值,0,1
  4. 饼图
  5. 小提琴图,会兼容画箱线图和概率密度曲线
  6. seaborn中,可以设置参数hue=‘column1’,相当于分组的作用,来画多个特征。