用sklearn.datasets.make_blobs来生成数据

sklearn.datasets.make_blobs

sklearn.datasets. make_blobs ( n_samples=100n_features=2centers=3cluster_std=1.0center_box=(-10.010.0)shuffle=Truerandom_state=None ) [source]

Parameters:

n_samples : int, optional (default=100)

The total number of points equally divided among clusters.

n_features : int, optional (default=2)

The number of features for each sample.

centers : int or array of shape [n_centers, n_features], optional

(default=3) The number of centers to generate, or the fixed center locations.

cluster_std : float or sequence of floats, optional (default=1.0)

The standard deviation of the clusters.

center_box : pair of floats (min, max), optional (default=(-10.0, 10.0))

The bounding box for each cluster center when centers are generated at random.

shuffle : boolean, optional (default=True)

Shuffle the samples.

random_state : int, RandomState instance or None, optional (default=None)

If int, random_state is the seed used by the random number generator; If RandomState instance, random_state is the random number generator; If None, the random number generator is the RandomState instance used by np.random.

Returns:

X : array of shape [n_samples, n_features]

The generated samples.

y : array of shape [n_samples]

The integer labels for cluster membership of each sample.

以上源于sklearn,http://scikit-learn.org/stable/modules/generated/sklearn.datasets.make_blobs.html


输入:

n_samples表示产生多少个数据。n_features表示数据是几维。centers表示数据点中心,可以输入int数字,代表有多少个中心,也可以输入几个坐标(fixed center locations)。cluster_std表示分布的标准差。

返回值:

X,[n_samples, n_features]形状的数组,代表产生的样本

y,[n_samples]形状的数组,代表每个点的标签(类别)


例子:

例如要生成5类数据(100个样本,每个样本有2个特征),代码如下:

from sklearn.datasets import make_blobs
from matplotlib import pyplot

data, label = make_blobs(n_samples=100, n_features=2, centers=5)
# 绘制样本显示
pyplot.scatter(data[:, 0], data[:, 1], c=label)
pyplot.show()

这里写图片描述 

如果希望为每个类别设置不同的方差,需要在上述代码中加入cluster_std参数:

from sklearn.datasets import make_blobs
from matplotlib import pyplot

data, label = make_blobs(n_samples=10, n_features=2, centers=3, cluster_std=[0.8, 2.5, 4.5])
# 绘制样本显示
pyplot.scatter(data[:, 0], data[:, 1], c=label)#c=label为不同的类别设置不同的颜色
pyplot.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

这里写图片描述


本文为转载,来源:https://blog.csdn.net/ichuzhen/article/details/51768934

----------------------------------------------------------------------------------------------------

愿共同学习,共同进步,若有错误,欢迎指正!

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: sklearn.datasets.make_blobs是一个函数,用于生成随机的多维高斯分布数据集。该函数可以用于测试和演示机器学习算法。它可以生成指定数量样本,每个样本有多个特征,每个特征的分布可以指定。生成数据集可以用于聚类、分类等任务。 ### 回答2: make_blobs是Scikit-learn中的一个函数,用于生成具有指定特征数和簇数的模拟数据集。该函数可以用来生成聚类任务的测试数据make_blobs函数的主要参数包括n_samples(样本数量),n_features(特征数量),centers(簇的数量或中心点的坐标),cluster_std(簇的标准差)和random_state(随机数种子)。其中,n_samples表示生成样本数目,n_features表示每个样本的特征数目,centers表示簇中心点的数量或坐标,cluster_std表示簇的标准差,random_state表示随机数种子,用于固定数据生成的随机过程。 通过调用make_blobs函数,可以生成一个样本数为n_samples,特征数为n_features的数据集。数据集的特征是由均值为centers,标准差为cluster_std的高斯分布生成的。通过指定centers参数,可以生成不同中心点的簇,这样可以根据生成数据集进行聚类算法的测试。 例如,如果我们调用make_blobs函数生成一个含有2个簇,每个簇包含100个样本,特征数为2的数据集,代码如下: X, y = make_blobs(n_samples=200, n_features=2, centers=2, cluster_std=1.0, random_state=0) 生成的X是一个形状为(200, 2)的数组,表示200个样本,每个样本具有2个特征。y是一个保存了每个样本所属簇的数组,其中的值为0或1。 make_blobs函数的输出可以用于聚类算法的训练和评估。例如,可以使用K-means算法对生成数据进行聚类,然后与真实的簇分配进行比较,以评估聚类算法的性能。 综上所述,make_blobs是一个用于生成模拟聚类任务数据集的函数,可以通过调整其参数来生成具有不同特征数和簇数的数据集,从而用于测试聚类算法的性能和效果。 ### 回答3: make_blobs是scikit-learn库中的一个数据生成函数,用于生成具有指定特征数量和聚类数量样本数据。它广泛用于机器学习和数据挖掘领域中的算法测试和模型评估。 make_blobs函数的参数包括n_samples(生成样本数),n_features(生成样本的特征数),centers(聚类中心数),cluster_std(聚类标准差),center_box(聚类中心的边界范围)等。 通过设定n_samples、n_features和centers参数的值,可以生成多个簇的样本数据。每个簇的数据点是通过从center_box中随机选择聚类中心,并在各个维度上根据cluster_std参数的高斯分布随机生成的。 make_blobs函数返回一个包含生成数据点和相应标签的元组。数据点是一个数组,其形状为(n_samples, n_features),表示每个样本的特征向量。标签是一个数组,其形状为(n_samples,),表示每个样本所属的簇。 使用make_blobs生成数据可以用于各种机器学习算法的示例和测试。比如,可以用生成数据训练一个聚类算法,然后将新数据点分配到指定的簇中。此外,还可以通过对生成数据进行可视化,观察聚类效果。 make_blobs函数的应用非常广泛,在教学及实际应用中经常使用。它可以帮助我们理解和学习不同算法的性能和特点,以及评估算法在处理不同数据集上的表现。总之,make_blobs是一个非常实用的数据生成函数,方便、灵活,极大地方便了机器学习和数据挖掘的实验和研究工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值