0.篇首

本篇文章继续在 Iris 的基础上做数据可视化处理。在前两篇文章中,我们分别使用了直方图、KDE 以及一个十分抽象的三维图展示了 Iris 数据集。这些图都很清晰地把三个 Species 区分开来。但是,每一个 Specie 内部的数据分布又是怎么样呢?

本篇文章将从统计学常用的几个概念出发,引出今天的主角 —— 箱形图

1.箱形图

首先,统计学中,针对一个数据样本,我们往往会用平均数 mean(表明资料中各观测值相对集中较多的中心位置,易受极端值的影响,是反映数据集中趋势的一项指标)、众数 mode(指一组数据中出现次数最多的变量值,不受极端值的影响,一组数据可能没有众数或有几个众数)、中位数 median(另外一种反映数据中心位置的指标,其确定方法是将所有数据以由小到大的顺序排列,位于中央的数据值就是中位数,不受极端值的影响)、四分位数 quartile(一组数据中,把所有数值由小到大排列并分成四等份,处于三个分割点位置的数据就是四分位数,不受极端值的影响。四分位数在统计学中的箱线图绘制方面应用较为广泛)以及最大值最小值

以上大部分的概念,我们都会在一张图中看到它们,这张图就是箱形图 Box-plot!又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比较。箱线图的绘制方法是:先找出一组数据的最大值、最小值、中位数两个四分位数;然后,连接两个四分位数画出箱体;再将上边缘和下边缘与箱体相连接,中位数在箱体中间

Box-plot 示意图

下面介绍seaborn 中的 boxplot 用法:

A box plot (or box-and-whisker plot) shows the distribution of quantitative data in a way that facilitates comparisons between variables or across levels of a categorical variable. The box shows the quartiles of the dataset while the whiskers extend to show the rest of the distribution, except for points that are determined to be “outliers” using a method that is a function of the inter-quartile range.

seaborn.boxplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, orient=None, color=None, palette=None, saturation=0.75, width=0.8, dodge=True, fliersize=5, linewidth=None, whis=1.5, ax=None, **kwargs)

基础参数:

x, y, hue:names of variables indataor vector data, optional

Inputs for plotting long-form data. See examples for interpretation.

data:DataFrame, array, or list of arrays, optional

Dataset for plotting. If x and y are absent, this is interpreted as wide-form. Otherwise it is expected to be long-form.

但是仅仅是 boxplot 并不能直观地看出数据的分布以及我们之后要介绍的 outliers ,所以我们要引入散点图 stripplot 。seaborn 中的 stripplot 用法如下:

seaborn.stripplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, jitter=True, dodge=False, orient=None, color=None, palette=None, size=5, edgecolor='gray', linewidth=0, ax=None, **kwargs)

介绍完用法,我们贴代码!

# One way we can extend this plot is adding a layer of individual points on top of
# it through Seaborn's striplot
#
# We'll use jitter=True so that all the points don't fall in single vertical lines
# above the species
#
# Saving the resulting axes as ax each time causes the resulting plot to be shown
# on top of the previous axes
ax = sns.boxplot(x="Species", y="PetalLengthCm", data=iris)
ax = sns.stripplot(x="Species", y="PetalLengthCm", data=iris, jitter=True, edgecolor="gray")

贴完代码,上图

Box-plot for Iris

2.总结

不难看出,通过关键的5个黑线,即最大值、最小值、中位数和两个四分位数,这组箱形图很直观地反映了三类鸢尾花品种的分布特征。有意思的是,在 Iris-setosa 的最值之外,有几个“越线”的 outliers 格外引入瞩目,这些 outliers 就是不符合该品种鸢尾花主要特征的“异常”数据,因此我们也可以通过箱形图找出数据中的异常值

但是,这里的 outliers 并不让我陌生,因为,它们是机器学习分类模型的常客。在分类模型中,我们认为模型的输出是离散的,出现异常值是很正常的。例如,本篇使用的 Iris 数据集中就存在 PetalLength 较短,但仍然被认为是 Iris-setosa 的数据。

那么什么是机器学习的分类模型?分类模型是如何将数据分类的呢?我们又如何去评估这些分类模型的好坏呢?

没错,数据分析-机器学习系列即将开启!

参考链接:

seaborn.boxplot - seaborn 0.10.1 documentation​seaborn.pydata.org

seaborn.stripplot - seaborn 0.10.1 documentation​seaborn.pydata.org

易执:Python可视化 | Seaborn5分钟入门(四)——stripplot和swarmplot​zhuanlan.zhihu.com

作者:钴铬氢气

20/08/2020

iris数据_Python数据分析03-Iris-箱形图与outliers相关推荐

  1. iris数据_Python数据分析02-Iris-直方图与KDE

    By IBM 0.篇首 上图是我在Coursera在线课程 What is data science (produced by IBM)的一篇阅读材料中截取下来的.正如文中所述:Digital rev ...

  2. 箱形图适用于哪种数据_Python数据分析之Seaborn(分类分析绘图 )

    ​Seaborn分类分析绘图 %matplotlib inlineimport numpy as npimport pandas as pdimport matplotlib as mplimport ...

  3. left join 重复数据_Python数据分析整理小节

    一.数据读取 1.读写数据库数据 读取函数: pandas.read_sql_table(table_name, con, schema=None, index_col=None, coerce_fl ...

  4. pythonpandas分析数据_python 数据分析--pandas

    接下来pandas介绍中将学习到如下8块内容: 1.数据结构简介:DataFrame和Series 2.数据索引index 3.利用pandas查询数据 4.利用pandas的DataFrames进行 ...

  5. python爬空气污染实时数据_python数据分析综合项目--空气质量指数分析

    项目背景 近年来,我国的环境问题比较严重,很多城市出现了雾霾天气,当然也有很多城市空气依旧清新,为了研究具体的空气环境城市分布,我们采用了假设检验以及线性回归的思想对AQI(空气质量指数)进行分析和预 ...

  6. python处理金融数据_Python 数据分析中金融数据的来源库和简单操作

    金融数据 数据分析离不开数据的获取,这里介绍几种常用的获取金融方面数据的方法. pandas-datareader pandas-datareader 库包含了全球最著名的几家公司所整理的金融数据,这 ...

  7. mpandroidchart 设置x轴数据_Python数据分析之初识可视化

    一.数据可视化概述 数据可视化是在整个数据分析非常重要的一个辅助工具,可以清晰的理解数据,从而调整我们的分析方法. - 能将数据进行可视化,更直观的呈现 - 使数据更加客观.更具说服力 例如下面两个图 ...

  8. python处理时间的标准数据_python数据分析数据标准化及离散化详解

    本文为大家分享了python数据分析数据标准化及离散化的具体内容,供大家参考,具体内容如下 标准化 1.离差标准化 是对原始数据的线性变换,使结果映射到[0,1]区间.方便数据的处理.消除单位影响及变 ...

  9. python numpy读取数据_Python数据分析之numpy学习(一)

    文|刘顺祥 Python是一门不错的动态语言,其应用的领域非常广泛,如web开发.Linux运维.数据挖掘.机器学习.爬虫.推荐系统等.在学完<廖雪峰Python2.7教程>感觉受益匪浅, ...

最新文章

  1. 这就是为什么我们需要在React的类组件中绑定事件处理程序
  2. 独家|OpenCV1.8 使用XML和YAML文件实现文件的输入/输出
  3. 网络扫描信息收集基于(Windows)
  4. 新冠疫苗厂商科兴成立房地产公司?网友:准备打疫苗送房子了?
  5. java core日志在哪里_java-如何在未启用日志记录功能的情况下在...
  6. tf.nn.softmax参数详解以及作用
  7. SpringBoot WebSocket Stomp
  8. 程序员误区1:软件开发职业是青春饭
  9. 继续跟上--“永远不要对一个外行聊你的专业”
  10. Linux 开发中的常用命令 ( Cygwin 环境也同样适用)
  11. [OpenBMC] 从代码谈 Redfish 的Log 机制 (LogService/EventLog)
  12. 在日冕病毒时代的爱情-远程工作的技巧,窍门和最佳实践
  13. js中返回今天是星期几的方法
  14. NAS自动挂载和关闭硬盘电源原理
  15. 微积分中几个重要的不等式:Jensen不等式、平均值不等式、Holder不等式、Schwarz不等式、Minkovski不等式 及其证明
  16. 基于51单片机的智能门禁控制系统(仿真+源码+全套资料)
  17. 不要错过这款好用的照片高清修复软件
  18. 2021年全球未来50强排行榜:16家公司来自中国,美国仅信息技术行业就有16家公司上榜(附年榜TOP50详单)
  19. 8本书助你了解人民日报“创作大脑”
  20. 前装车载手机无线充电搭载“翻倍”增长,市场份额争夺战白热化

热门文章

  1. 数据结构与算法思维导图(目录)
  2. C++实现求小于n的所有素数
  3. 苹果删除照片不释放内存_删除的照片怎么找回?高效找回不耽误!
  4. ols最小二乘法是什么|OLS最小二乘法是如何推导的
  5. 第一次笔记(10.21)
  6. 图像3尺度全小波包分解matlab,小波分析理论与图像降噪处理
  7. 关于普通人如何提升执行力?
  8. 020 MySQL概述及基本操作
  9. HDU-2112 HDU Today (字符串转数字,最短路)
  10. bandzip和360解压_最优秀的压缩/解压缩软件—BandZip