Seaborn----绘制统计图形(机器学习)

一、概述

Seaborn基于 Matplotlib核⼼库进⾏了更⾼级的API封装,可以轻松地画出更漂亮的
图形,⽽Seaborn的漂亮主要体现在配⾊更加舒服,以及图形元素的样式更加细
腻。

二、绘制单变量分布

使用Seaborn之前需要导包
再黑框中输入 pip install seaborn -i https://pypi.tuna.tsinghua.edu.cn/simple
在这里插入图片描述

import seaborn as sns
import numpy as np
import random

# 获取默认绘图
sns.set()
# 确定随机数生成器的种子,保证每次生成的随机数是一样的
np.random.seed(0)
# 生成随机数
data = np.random.randn(100)
# 绘制直方图,kde高斯核密度估计曲线、rug轴方向上绘制rugplot
sns.distplot(data,bins=10,hist=True,kde=True,rug=True)

在这里插入图片描述

三、绘制双变量分布

3.1绘制散点图

import numpy as np
import pandas as pd
import seaborn as sns

x = np.random.randn(500)
y = np.random.randn(500)
dataform_obj = pd.DataFrame({'x':x,'y':y})

#绘制散点图
sns.jointplot(x='x',y='y',data=dataform_obj,marginal_kws=dict(kde=True))

在这里插入图片描述

3.2绘制二维直方图

二维直方图类似于"六边形"图,主要是因为它显示了落在六⻆形区域内的观察值的
计数,适⽤于较⼤的数据集。

import numpy as np
import pandas as pd
import seaborn as sns

x = np.random.randn(500)
y = np.random.randn(500)
dataform_obj = pd.DataFrame({'x':x,'y':y})

#绘制二维直方图
sns.jointplot(x='x',y='y',data=dataform_obj,kind='hex')

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/c46f0e7b61cf49fda5ffdc7238f00d69.png

从六边形颜色的深浅,可以观察到数据密集的程度

3.3绘制核密度估计图形

x = np.random.randn(500)
y = np.random.randn(500)
dataform_obj = pd.DataFrame({'x':x,'y':y})

#绘制核密度估计图
sns.jointplot(x='x',y='y',data=dataform_obj,kind='kde')

在这里插入图片描述

3.4绘制成对的双变量分布

import seaborn as sns

# 加载 iris 数据集
dataset = pd.read_csv("iris_data.csv")
dataset.head()

在这里插入图片描述

#绘制多个的iris双变量分布图
sns.pairplot(dataset.iloc[:,:5])

在这里插入图片描述

3.5用分类数据绘图

  1. 类别散点图
data = pd.read_csv('IMDB-Movie-Data.csv')
data.head()

在这里插入图片描述

movie_data = data.iloc[100:500,]
#绘制类别散点图
sns.stripplot(x='Year',y='Rating',data=movie_data)

在这里插入图片描述从上图中可以看出,⼀些数据点会互相重叠,不易于观察。可以在调⽤stripplot()函数时传⼊jitter参数, jitter:表示抖动的程度,当很多数据点重叠时,可以指定抖动的数量或者设为True使⽤默认值。

# 绘制类别散点图,所有的数据点都不会重叠
sns.swarmplot(x='Year',y='Rating',data=movie_data)

在这里插入图片描述

  1. 类别内的数据分布
    箱形图是⼀种用作显示⼀组数据分散情况资料的统计图。
# 绘制箱型图
sns.boxplot(x='Year',y='Rating',data=movie_data)

在这里插入图片描述

⼩提琴图 用于显示数据分布及其概率密度

# 绘制提琴图
sns.violinplot(x='Year',y='Rating',data=movie_data)

在这里插入图片描述

  1. 类别内的统计估计
    barplot函数会在整个数据集上使⽤均值进⾏估计
#绘制条形图
sns.barplot(x='Year',y='Rating',data=movie_data)

在这里插入图片描述

pointplot()函数会⽤⾼度低计值对数据进⾏描述,⽽不是显示完整的条形,它只会绘制点估计和置信区间。

#绘制点图
sns.pointplot(x='Year',y='Rating',data=movie_data)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱敲代码的小崔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值