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

使用Python生成多个随机make_blobs()数据集并比较

发布时间:2023-12-11 12:04:39

在Python中,我们可以使用Scikit-learn库中的make_blobs()函数生成多个随机的聚类数据集。make_blobs()函数可以根据指定的中心点数量、标准差、特征数量和数据集大小等参数生成随机的数据集,用于聚类算法的测试和可视化等用途。

下面是一个使用make_blobs()函数生成多个随机数据集的示例代码:

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

# 生成两个随机数据集
X1, y1 = make_blobs(n_samples=200, centers=2, cluster_std=1, n_features=2, random_state=0)
X2, y2 = make_blobs(n_samples=300, centers=4, cluster_std=1.5, n_features=2, random_state=0)

# 绘制数据集
plt.scatter(X1[:, 0], X1[:, 1], c=y1, cmap='viridis', alpha=0.5)
plt.scatter(X2[:, 0], X2[:, 1], c=y2, cmap='viridis', alpha=0.5)
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.show()

在上述代码中,我们首先导入了必要的模块和函数,然后使用make_blobs()函数分别生成了两个随机的数据集X1和X2,每个数据集包含两个特征。其中,参数n_samples指定了生成数据的个数,centers指定了中心点的数量,cluster_std指定了生成数据的标准差,n_features指定了每个数据的特征数量,random_state指定了随机数生成器的种子,保证每次运行代码时生成的随机数据集是一致的。

最后,我们使用scatter()函数将生成的数据集可视化在二维平面上,其中点的颜色表示数据点所属的类别。

随机生成的数据集在特征空间中呈现不同的几何形状,可以用于模型测试、可视化以及聚类算法的性能评估等任务。通过生成多个随机数据集,我们可以进行不同参数设置下的数据集比较,评估算法在不同数据分布下的表现。