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)

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_56246012/article/details/140730986