Python代码生成多个不同标准差的make_blobs()数据集
发布时间:2023-12-11 12:06:31
下面是Python代码生成多个不同标准差的make_blobs()数据集的示例。
首先,我们导入所需的库:
import numpy as np import matplotlib.pyplot as plt from sklearn.datasets import make_blobs
然后,定义一个函数来生成具有不同标准差的make_blobs()数据集:
def generate_datasets():
centers = [[-2, 2], [2, -2]]
std_deviations = [0.5, 1.5, 2.5]
datasets = []
for std in std_deviations:
X, y = make_blobs(n_samples=200, centers=centers, cluster_std=std, random_state=42)
datasets.append((X, y))
return datasets
在这个示例中,我们将数据集的中心点设置为[-2, 2]和[2, -2],然后我们定义了三个不同的标准差:0.5、1.5和2.5。我们使用make_blobs()函数生成数据集,并将其添加到一个列表中。
接下来,我们可以使用这个函数生成数据集,并可视化结果:
datasets = generate_datasets()
fig, axes = plt.subplots(1, len(datasets), figsize=(15, 5))
for i, (X, y) in enumerate(datasets):
ax = axes[i]
ax.scatter(X[:, 0], X[:, 1], c=y, cmap='viridis')
ax.set_title(f"Standard Deviation: {std_deviations[i]}")
plt.show()
这段代码将生成一个包含三个子图的图形,每个子图显示一个数据集。数据点的颜色表示其所属的类别,而子图的标题则显示了对应的标准差。
这个示例可以帮助我们理解不同标准差对生成的数据集的影响。较小的标准差会生成更紧密的聚类,而较大的标准差则会生成更分散的聚类。
希望这个例子对你有帮助!
