python-可视化(Matplotlib、Seaborn)及常用图形
前言
主要整理自己在机器学习遇到的数据可视化相关的知识点,以及数据分析中常用到图形,及总结不同图形适合的场景。
可视化是展示训练结果的工具,不是机器学习的核心~ 可以画出足够表达意思的图形即可,不深究。
一、matplotlib
官网:https://matplotlib.org/index.html
数据可视化常用的库,直接看官网最好了,有丰富的例子并配有代码,而是最权威的
- matplot是python的基础的可视化库,可以配置很多参数画出丰富的图形。
二、seaborn
seaborn是在matplotlib基础上进一步封装,很多方法可以直接使用默认参数,用起来方便,比如底层自动配色,不需要像matplot一样为不同值设置不同颜色
有同学翻译和整理的中文文档 https://seaborn.apachecn.org/#/docs/1,可以当作手册查阅。
三、常用图形及使用场景
- 关联分布
- 散点图
- 曲线图
- 带置信区间的曲线图
- 分布分析
- 灰度图,一个粗略的区间计数
- 堆叠图,可以比较数据的分布
- 核密度分布(ked,Kernel Distribution Estimation),概率密度曲线
- 组间分析
- 柱状图,组之间定量比较
- 堆叠柱状图
- 箱线图,一个箱子表示一个维度数据的数据分布,几个重要的线,从上往下
- 胡须上限
- 最大观测点 = 75%分位数+1.5(75%分位数-25%分位数)
- 如果数据集中max值在观测点内,则胡须上限=最大观测点
- 如果数据集中有值超过了最大观测点,则这部分数据属于异常点,会被画在最上方,此时胡须上限 = min(最大观测点, max(剔除异常点的数据集))
- 75%分位数
- 中位数
- 25%分位数
- 胡须下限
- 最小观测点 = 25%分位数 - 1.5(75%分位数-25%分位数)
- 如果数据集min值 大于最小观测点,也就是在观测点内,则胡须下限=最小观测点
- 否则,小于最小观测点的值属于异常点,剔除掉之后,胡须下限 = max(最小观测点, mix(剔除异常点的数据集))
- 除了上述5条线之外,如果在胡须上下限之外有一些点,这些点就是异常点
- 胡须上限
还有些常用的图:
- 抖动散点图,适用于离散数据,将重叠的点打散开,左右抖一下分开来画在图上,给数据加噪音
- 蜂群图,和抖动的作用一样,适用于离散数据,将重叠的点打散开,按照人字往左右排
- 逻辑回归图,适合二值变量,比如某个维度只有两个值,0,1
- 饼图
- 小提琴图,会兼容画箱线图和概率密度曲线
- seaborn中,可以设置参数hue=‘column1’,相当于分组的作用,来画多个特征。