0
点赞
收藏
分享

微信扫一扫

C++之STL

鱼满舱 2023-10-29 阅读 45

目录

1. 分类数据的可视化

1.1 类别散点图(Categorical Scatter Plot)

1.2 类别分布图(Categorical Distribution Plot)

1.3 类别估计图(Categorical Estimate Plot)

1.4 类别单变量图(Categorical Univariate Plot)

2. 线性模型和参数拟合可视化

2.1 线性回归模型可视化(Linear Regression Plot)

2.2 逻辑回归模型可视化(Logistic Regression Plot)

2.3 残差绘图(Residual Plot)


1. 分类数据的可视化

1.1 类别散点图(Categorical Scatter Plot)

        类别散点图用于显示不同类别之间的数据点分布,通常使用散点图来表示。

        Seaborn中的stripplotswarmplot函数用于创建这种类型的图。

示例代码:

import seaborn as sns
import matplotlib.pyplot as plt

# 使用示例数据
data = sns.load_dataset("tips")

# 创建一个类别散点图
sns.stripplot(x="day", y="total_bill", data=data)

# 或者使用swarmplot
sns.swarmplot(x="day", y="total_bill", data=data)

plt.show()

1.2 类别分布图(Categorical Distribution Plot)

        类别分布图用于显示类别数据的分布,常用的有boxplotviolinplotboxenplot等。

        以下是一个示例代码,演示如何在一个代码段中绘制箱线图、小提琴图和 Boxen 图,并使用 hue 参数进行数据分组和 dodge 参数分开多个分类的数据分布: 

import seaborn as sns
import matplotlib.pyplot as plt

data = sns.load_dataset("tips")

# 创建一个包含多个子图的画布
fig, axes = plt.subplots(1, 3, figsize=(15, 5))

# 创建箱线图
sns.boxplot(x="day", y="total_bill", hue="sex", data=data, dodge=True, ax=axes[0])
axes[0].set_title("Box Plot")

# 创建小提琴图
sns.violinplot(x="day", y="total_bill", hue="sex", data=data, split=True, ax=axes[1])
axes[1].set_title("Violin Plot")

# 创建 Boxen 图
sns.boxenplot(x="day", y="total_bill", hue="sex", data=data, dodge=True, ax=axes[2])
axes[2].set_title("Boxen Plot")

# 调整子图布局
plt.tight_layout()

plt.show()

 结果如下:

1.3 类别估计图(Categorical Estimate Plot)

        类别估计图用于显示类别数据的估计值,例如均值、中位数等,通常用于汇总和可视化类别数据的分布特征。Seaborn中常用的函数包括barplotpointplot。

1. Bar Plot(柱状图)

        柱状图常用于显示类别数据的中心趋势估计值(如均值),以及可选的置信区间。你可以使用barplot函数来创建柱状图,同时可以根据另一个分类变量使用hue参数进行数据分组。

2. Point Plot(点图)

        点图是一种用于显示估计值的可视化方式,它显示估计值(通常是均值)以及可选的误差线。点图的优点是能够清晰地显示估计值和变异性。

import seaborn as sns
import matplotlib.pyplot as plt

# 加载示例数据集
data = sns.load_dataset("tips")

# 创建一个包含两个子图的画布
fig, axes = plt.subplots(1, 2, figsize=(12, 5))

# 创建柱状图,显示不同日期(day)的总账单(total_bill)均值
sns.barplot(x="day", y="total_bill", data=data, ci="sd", ax=axes[0])
axes[0].set_title("Bar Plot of Total Bill by Day")
axes[0].set_ylabel("Mean Total Bill")

# 创建点图,显示不同日期(day)的总账单(total_bill)中位数
sns.pointplot(x="day", y="total_bill", data=data, ci="sd", ax=axes[1])
axes[1].set_title("Point Plot of Total Bill by Day")
axes[1].set_ylabel("Median Total Bill")

# 调整子图布局
plt.tight_layout()

plt.show()


1.4 类别单变量图(Categorical Univariate Plot)

        类别单变量图用于展示单一类别变量的分布情况,通常用于可视化不同类别的计数或频率。Seaborn提供了几个函数来创建类别单变量图,其中包括countplotboxenplot

import seaborn as sns
import matplotlib.pyplot as plt

data = sns.load_dataset("tips")

# 创建一个包含两个子图的画布
fig, axes = plt.subplots(1, 2, figsize=(12, 5))

# 创建计数图,显示不同日期(day)的用餐计数
sns.countplot(x="day", data=data, ax=axes[0])
axes[0].set_title("Count Plot of Days")
axes[0].set_ylabel("Count")

# 创建Boxen图,显示不同性别(sex)的总账单(total_bill)分布
sns.boxenplot(x="sex", y="total_bill", data=data, ax=axes[1])
axes[1].set_title("Boxen Plot of Total Bill by Gender")
axes[1].set_ylabel("Total Bill")

# 调整子图布局
plt.tight_layout()

plt.show()

2. 线性模型和参数拟合可视化

        线性模型和参数拟合的可视化在数据分析和机器学习中非常重要,它可以帮助你理解模型的性能、评估拟合质量以及检查模型的假设。Seaborn提供了一些函数来可视化线性回归模型和逻辑回归模型,以及绘制残差图。

2.1 线性回归模型可视化(Linear Regression Plot)

        线性回归模型可视化是一种用于展示线性关系的数据可视化方法。它通过绘制数据点和拟合的直线来呈现线性回归模型的拟合效果。

        在Seaborn中,可以使用lmplot()函数绘制线性回归模型可视化图。该函数可以同时显示数据点和拟合的线性回归模型,并提供置信区间。通过调整参数,可以自定义线条的样式、颜色和置信区间的透明度等。

import seaborn as sns
import matplotlib.pyplot as plt

# 使用示例数据
data = sns.load_dataset("tips")

# 使用lmplot绘制线性回归模型可视化
sns.lmplot(x="total_bill", y="tip", data=data, ci=95, scatter_kws={"color": "blue"}, line_kws={"color": "red"})

# 设置标题
plt.title("Linear Regression Plot")

# 调整图形布局,确保标题显示在图内
plt.tight_layout()

# 显示图形
plt.show()

2.2 逻辑回归模型可视化(Logistic Regression Plot)

        逻辑回归模型可视化用于展示二分类模型的效果。它通过绘制数据点和拟合的曲线,来展示逻辑回归模型在不同类别上的概率分布。

        在Seaborn中,可以使用lmplot()函数绘制逻辑回归模型可视化图。可以设置逻辑回归模型的类型(如logit、probit等),以及其他参数,如置信区间、颜色等。

示例:

import seaborn as sns
import matplotlib.pyplot as plt

# 使用示例数据
data = sns.load_dataset("titanic")

# 使用lmplot绘制逻辑回归模型可视化
sns.lmplot(x="age", y="survived", data=data, logistic=True, ci=None, scatter_kws={"color": "blue"})

# 设置标题
plt.title("Logistic Regression Plot")
# 调整图形布局,确保标题显示在图内
plt.tight_layout()
# 显示图形
plt.show()

     

2.3 残差绘图(Residual Plot)

import seaborn as sns
import matplotlib.pyplot as plt

# 加载示例数据
data = sns.load_dataset("tips")

# 使用 lmplot 绘制回归关系图
sns.lmplot(x="total_bill", y="tip", data=data)

# 绘制残差图
sns.residplot(x="total_bill", y="tip", data=data, scatter_kws={"s": 25, "alpha": 0.5})

# 设置图标题
plt.title("Residual Plot")
plt.tight_layout()
# 显示图形
plt.show()

 

举报

相关推荐

0 条评论