使用sklearn.datasets.samples_generatormake_blobs()函数产生随机数据样本集
sklearn的datasets模块提供了一些用于机器学习的常用数据集合生成函数,其中之一是make_blobs()函数。make_blobs()函数可以用来生成随机数据样本集,其中的样本是服从多个高斯分布的。
make_blobs()函数的语法如下:
make_blobs(n_samples=100, n_features=2, centers=None, cluster_std=1.0, center_box=(-10.0, 10.0), shuffle=True, random_state=None)
参数说明:
- n_samples:样本总数,默认值为100
- n_features:特征数,默认值为2
- centers:簇中心的个数或自定义的簇中心,默认值为None
- cluster_std:簇的标准差,默认值为1.0
- center_box:每个簇的中心范围,默认值为(-10.0, 10.0)
- shuffle:是否打乱样本,默认值为True
- random_state:随机数种子,默认值为None
下面通过一个例子来演示make_blobs()函数的使用:
import matplotlib.pyplot as plt from sklearn.datasets import make_blobs # 生成一个样本总数为1000,特征数为2的样本集,其中有3个簇中心,簇的标准差为1.5 X, y = make_blobs(n_samples=1000, n_features=2, centers=3, cluster_std=1.5) # 绘制生成的样本集,用不同颜色表示不同簇 plt.scatter(X[:, 0], X[:, 1], c=y) plt.show()
通过上述代码,我们生成了一个样本总数为1000,特征数为2的样本集,其中有3个簇中心,簇的标准差为1.5。然后,我们使用plt.scatter()函数绘制了生成的样本集,用不同颜色表示不同簇。
make_blobs()函数在生成样本集时,根据传入的参数生成服从多个高斯分布的数据,并将不同簇的样本集按类别标签标记。这样生成的数据集可以用于机器学习中的聚类任务,比如K均值聚类算法。
总结来说,make_blobs()函数是一个非常方便的用于生成随机数据样本集的工具函数,通过调整参数,可以方便地生成不同分布、不同数量的样本集,为机器学习任务提供了便利。
