欢迎访问宙启技术站
智能推送

Python随机生成多个make_blobs()数据集并保存

发布时间:2023-12-11 12:07:46

在Python中,可以使用make_blobs函数从随机生成的多个高斯分布中生成数据集。这个函数的目的是生成聚类数据集,其中每个聚类由多个高斯分布组成。

make_blobs函数可以使用以下参数来控制生成的数据集的特点:

- n_samples:生成的总样本数量。

- n_features:每个样本的特征数量。

- centers:需要生成的聚类中心数量。

- cluster_std:每个聚类的标准差。

- random_state:控制数据集生成的随机种子。

下面我们来看一个例子,生成并保存随机生成的多个make_blobs数据集。

首先,我们需要导入所需的库和模块:

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs

然后,我们可以使用make_blobs函数生成多个数据集:

# 设置生成的数据集数量
n_datasets = 5

# 生成并保存多个数据集
for i in range(n_datasets):
    # 使用make_blobs生成数据集
    X, y = make_blobs(n_samples=100, n_features=2, centers=3, cluster_std=1.0, random_state=i)

    # 保存数据集
    np.save(f'dataset_{i}.npy', (X, y))

在上面的例子中,我们生成了5个数据集,每个数据集包含100个样本,每个样本有2个特征,共有3个聚类中心,标准差为1.0。

最后,我们可以使用matplotlib库来可视化生成的数据集:

# 可视化数据集
for i in range(n_datasets):
    # 加载数据集
    X, y = np.load(f'dataset_{i}.npy', allow_pickle=True)

    # 绘制散点图
    plt.scatter(X[:, 0], X[:, 1], c=y)
    plt.title(f'Dataset {i+1}')
    plt.show()

以上代码会以散点图的形式展示生成的每个数据集,不同聚类的样本用不同的颜色表示。

通过这种方式,我们可以快速生成多个make_blobs数据集,并使用可视化工具进行观察和分析。