绘制核密度估计图(Kernel Density Estimation Plot)
这是以iris数据集为例的。 下面来看代码
sns.kdeplot(df_Setosa['sepal.length'],
fill = True, label = 'sepal length', color = 'g')
sns.kdeplot(df_Setosa['sepal.width'],
fill = True, label = 'sepal width',
color = 'blue')
sns.kdeplot(df_Setosa['petal.length'],
fill = True, label = 'petal length', color = 'r')
sns.kdeplot(df_Setosa['petal.width'],
fill = True, label = 'petal width',
color = 'deeppink')
plt.legend()
plt.show()
当然,这个代码还是可以优化的,就留给读者朋友喽!
torchvision
要在这上面动态的展示相关数据图片。
来看代码
import random
import torch.utils.data as data_utils
import torchvision
# 获取类别数
num_classes = len(dataset.classes)
samples_per_class = 90
total_samples = num_classes * samples_per_class
# 创建DataLoader以方便随机采样
dataloader = torch.utils.data.DataLoader(dataset, batch_size=samples_per_class, shuffle=True)
# 初始化存储图片的容器
images = []
for class_index in range(num_classes):
# 随机获取一个批次,对于CIFAR-10这样的数据集,一个批次就是一类的所有图片
batch = next(iter(dataloader))
# 由于我们的批次已经是对应类别的所有图片,只需要从中随机抽取指定数量的样本
selected_images = [batch[0][i] for i in random.sample(range(samples_per_class), samples_per_class)]
images.extend(selected_images)
# 整理形式
images_grid = torchvision.utils.make_grid(images, nrow=10)
在cmd中运行
tensorboard --logdir=runs
当然,要特别的注意:要在自己的代码文件目录下打开cmd运行这行命令;
然后,copy
http://localhost:6006/
上述网址到浏览器中,访问,便能得到想要的第一张图了。
联合分布图
sns.pairplot
是 seaborn 库中的一个功能,它用于绘制多变量数据集的联合分布图。Pairplot 通过创建一个矩阵式的图表布局,展示数据集中每一对数值型变量之间的关系,并在对角线上显示每个变量自身的单变量分布。
具体来说,sns.pairplot()
会执行以下操作:
- 对于数据集中任意两个数值型特征(列),它会绘制一个散点图或线性回归拟合线,以展示这两个特征之间的二维关系。
- 当某一对特征中存在分类变量时,它可能会使用不同颜色或标记形状来区分不同类别,并在同一幅散点图上展示不同类别的分布情况。
- 在对角线上,它会为每个数值型特征绘制单变量的直方图、核密度估计图或其他形式的分布图,帮助观察各个特征本身的分布特性。
通过 pairplot 可以快速概览整个数据集各变量间的相关性和分布特点,这对于数据探索(EDA, Exploratory Data Analysis)阶段非常有用,可以初步发现潜在的数据模式和异常值等信息
我们来看代码
_ = sns.pairplot(data=df, hue='species', diag_kind='kde',kind='hist')#'scatter', 'kde', 'hist', 'reg'
当然可以修改其中的相关参数,然后达到搞出不同的、自己想要的那种图
来画小提琴图
而且还是子图,并且还是优化后的子图,看到就是赚到。
fig, axes = plt.subplots(2, 2, figsize=(7, 5))
for i, column in enumerate(df.columns[:-1]):
sns.violinplot(data=df,
x='species',
y=column,
hue='species',
ax=axes[i // a, i % b])