首页 > 其他分享 >【小睿的ML之路】Seaborn-多变量分析绘制

【小睿的ML之路】Seaborn-多变量分析绘制

时间:2023-09-21 23:24:51浏览次数:36  
标签:Seaborn ML bill 小睿 sns tips total data day

%matplotlib inline 

import seaborn as sns # 导入 seaborn 库,用于绘制统计图形。
import numpy as np # 导入 numpy 库,用于处理数值计算。
import pandas as pd # 导入 pandas 库,用于处理数据。
import matplotlib as mpl # 导入 matplotlib 库,用于绘图。
import matplotlib.pyplot as plt # 导入 matplotlib 库中的 pyplot 模块,用于绘图。

sns.set(color_codes=True,style="whitegrid") # 设置 seaborn 的颜色风格,color_codes=True 表示使用颜色代码。

np.random.seed(sum(map(ord,"categorical")))

titanic = sns.load_dataset("titanic")

tips = sns.load_dataset("tips")

print(tips.head())

iris = sns.load_dataset("iris")

   total_bill   tip     sex smoker  day    time  size
0       16.99  1.01  Female     No  Sun  Dinner     2
1       10.34  1.66    Male     No  Sun  Dinner     3
2       21.01  3.50    Male     No  Sun  Dinner     3
3       23.68  3.31    Male     No  Sun  Dinner     2
4       24.59  3.61  Female     No  Sun  Dinner     4
sns.stripplot(x="day",y="total_bill",data=tips)
<Axes: xlabel='day', ylabel='total_bill'>

重叠是很常见的现象,但是重叠影响我观察数据的量了。所以增加 jitter 参数实现抖动

sns.stripplot(x="day",y="total_bill",data=tips,jitter=True)
<Axes: xlabel='day', ylabel='total_bill'>

也可以使用 swarmplot 进行绘制

sns.swarmplot(x="day",y="total_bill",data=tips)
<Axes: xlabel='day', ylabel='total_bill'>

这段代码使用 Seaborn 库的 swarmplot 函数绘制了 "day" 和 "total_bill" 之间的散点图,并根据 "sex" 进行了着色区分。

具体解释如下:

  • sns.swarmplot(x="day", y="total_bill", data=tips, hue="sex"):调用 Seaborn 库的 swarmplot 函数绘制散点图,并使用 "sex" 来对点进行着色区分。参数 x 指定 x 轴数据,这里是 "day",参数 y 指定 y 轴数据,这里是 "total_bill",参数 data 是所使用的数据集,这里是 "tips" 数据集。参数 hue 指定了着色的依据,这里是 "sex",表示根据性别进行区分。这段代码绘制了 "day" 和 "total_bill" 之间的散点图,通过不同性别的着色展示了 "total_bill" 在不同天数的分布情况。
sns.swarmplot(x="day",y="total_bill",data=tips,hue="sex")
<Axes: xlabel='day', ylabel='total_bill'>

sns.swarmplot(x="total_bill",y="day",data=tips,hue="time")
<Axes: xlabel='total_bill', ylabel='day'>

盒图

  • IQR即统计学概念四分位距,第一四分位与第三四分位之间的距离
  • N = 1.5IQR 如果一个值>Q3+N 或 <Q1-N,则为离散点

这是关于统计学中四分位数(Quartiles)和离群值(Outliers)的概念解释:

  1. 四分位距(Interquartile Range - IQR)

    • 四分位距是指统计学中的一个概念,表示数据集合中第三四分位数(Q3,上四分位数)与第一四分位数(Q1,下四分位数)之间的距离,用于衡量数据的变异程度。通常情况下,数据集的50%位于Q1和Q3之间。
    • 具体计算方式:[ IQR = Q3 - Q1 ]
  2. 离群值的判定

    • 统计学中,常用箱线图(Box Plot)来识别离群值。箱线图中,离群值一般被定义为超出箱体上下限的数据点。
    • 根据你提供的公式,离群值的判定方法是:如果一个数据点的值大于Q3加上1.5倍的IQR,或者小于Q1减去1.5倍的IQR,那么该数据点被视为离群值。

呜呜呜~我数学是真的菜,我得想半天!!!

sns.boxplot(x="day",y="total_bill",data=tips,hue="time")
<Axes: xlabel='day', ylabel='total_bill'>

比如 Thur 列,上面是最大值,下面是最小值,盒子上面是3/4位,盒子下面是1/4位,盒子中间是1/2位。上面的菱形是离群点。

sns.violinplot(x="total_bill",y="day",data=tips,hue="time")
<Axes: xlabel='total_bill', ylabel='day'>

小提琴图:越胖代表数据出现次数越多,反之越少。

sns.violinplot(x="day",y="total_bill",data=tips,hue="sex",split=True)
<Axes: xlabel='day', ylabel='total_bill'>

标签:Seaborn,ML,bill,小睿,sns,tips,total,data,day
From: https://www.cnblogs.com/guowenrui/p/17721225.html

相关文章

  • 9.21 uml感悟
    对uml有了一些全新的认知,之前感觉这课奇奇怪怪的今天课下又往后面翻了翻,书中讲了很多项目的思路结构其实说,真正写出一个程序,感觉离不开的就有计算机语言的语法基础,程序的大体思路,基本结构当然还有一些减时减力的特殊算法至于uml的统一建模语言,这个“统一”和“建模”......
  • 【小睿的ML之路】Seaborn-回归分析绘图
    %matplotlibinline#这是一个魔术命令,用于在JupyterNotebook中显示matplotlib生成的图形。importseabornassns#导入seaborn库,用于绘制统计图形。importnumpyasnp#导入numpy库,用于处理数值计算。importpandasaspd#导入pandas库,用于处理数据。impo......
  • 【小睿的ML之路】Seaborn-单变量分析绘制
    importseabornassnsimportnumpyasnpimportpandasaspdimportmatplotlibasmplimportmatplotlib.pyplotasplt%matplotlibinlinex=np.random.normal(size=100)print(x)[0.22404072-1.9394295-0.32313598-0.25468579-0.719277940.66163234......
  • selenium 报错 element not interactable: [object HTMLDivElement] has no size and
    selenium自动化识别验证码x,y坐标 命令move_to_element_with_offset报错:elementnotinteractable:[objectHTMLDivElement]hasnosizeandlocation由于>4.0是以中心点偏移,4.0是左上角偏移。卸载掉最新的seleniuim:pipuninstallselenium安装selenium4.0:pipinstalls......
  • NET6/Framework 封装邮件发送纯文本/HTML/HTML+图片/附件
    NugetRuntime:Net6MailKit4.2.0MimeKit4.2.0发送纯文本{varbodyBuilder=newBodyBuilder();bodyBuilder.TextBody="这是一封纯文本邮件";message.Body=bodyBuilder.ToMessageBody();}{vartextPart=newTextPart("plain")......
  • firefox浏览shtml时直接显示源代码问题
    firefox浏览shtml时直接显示源代码问题今天浏览网页时,打开一个网页http://photo.17ok.com/,发现直接显示了源代码,随之把页面补全,.php.html.htm都试过但都提示servernotfound,最后输入shtml,又一次出来了源代码。那么确定此页面属于.shtml页面。用IE浏览器打开,正常,无奈了,初步......
  • 【小睿的ML之路】Seaborn调色板更多颜色设置
    importseabornassnsimportnumpyasnpimportpandasaspdimportmatplotlibasmplimportmatplotlib.pyplotasplt%matplotlibinline使用xkcd颜色来命名颜色绘制三条线,分别设定颜色绘制一条从(0,0)到(1,1)的线plt.plot([0,1],[0,1],sns.xkcd_rgb["pale......
  • 关于Dubbo使用XML配置方式启动时卡住的问题
    最近参照Dubbo官网“快速开始”的案例写一个Demo,没想到差点被劝退。主程序如下:packagecom.example.dubbo.main;importorg.springframework.context.support.ClassPathXmlApplicationContext;publicclassProvider{publicstaticvoidmain(String[]args)throwsExce......
  • HTML
    HTML笔记1、前端:主要职责,负责网页。2、通过网页展示数据。3、网页的组成:(1)网页的结构内容-HTML(2)网页的样式-CSS(3)网页的行为-JavaScript4、HTML(1)简介:超文本标记语言(英语:HyperTextMarkupLanguage,简称:HTML)是一种用于创建网页的标准标记语言。开发工具:VSCode、HBuilderX、HBuilderHTML......
  • XML Schema All In One
    XMLSchemaAllInOneXSDAnXMLSchemadescribesthestructureofanXMLdocument.TheXMLSchemalanguageisalsoreferredtoasXMLSchemaDefinition(XSD).https://en.wikipedia.org/wiki/XML_schemahttps://www.w3.org/XML/Schemahttps://www.w3.org/TR/......