sklearn学习笔记(1)--make_blobs

make_blobs聚类数据生成器简介

scikit中的make_blobs方法常被用来生成聚类算法测试数据,直观地说,make_blobs会根据用户指定的特征数量、中心点数量、范围等来生成几类数据,这些数据可用于测试聚类算法的效果。

make_blobs方法:

sklearn.datasets.make_blobs(n_samples=100, n_features=2,centers=3, cluster_std=1.0, center_box=(-10.0, 10.0), shuffle=True, random_state=None)[source]

其中:

  • n_samples是待生成的样本的总数。
  • n_features是每个样本的特征数。
  • centers表示类别数。
  • cluster_std表示每个类别的方差,例如我们希望生成2类数据,其中一类比另一类具有更大的方差,可以将cluster_std设置为[1.0,3.0]。

例:生成3类数据用于聚类(100个样本,每个样本有2个特征)

from sklearn.datasets import make_blobs
from matplotlib import pyplot

data,target=make_blobs(n_samples=100,n_features=2,centers=3)

# 在2D图中绘制样本,每个样本颜色不同
pyplot.scatter(data[:,0],data[:,1],c=target);
pyplot.show()

 

这里写图片描述

为每个类别设置不同的方差,只需要在上述代码中加入cluster_std参数即可:

from sklearn.datasets import make_blobs
from matplotlib import pyplot

data,target=make_blobs(n_samples=100,n_features=2,centers=3,cluster_std=[1.0,3.0,2.0])

#在2D图中绘制样本,每个样本颜色不同
pyplot.scatter(data[:,0],data[:,1],c=target);
pyplot.show()

这里写图片描述

转自:http://blog.csdn.net/kevinelstri/article/details/52622960

`make_blobs` 是一个用于生成聚类数据的函数,可以用于测试聚类算法的效果。下面是 `make_blobs` 中常用参数的说明: - `n_samples`:生成的样本数,默认值为 100。 - `n_features`:生成的特征数,默认值为 2。 - `centers`:指定样本的中心点,可以是整数或数组。当 `centers` 为整数时,表示生成几个中心点;当 `centers` 为数组时,表示指定每个中心点的坐标位置。 - `cluster_std`:每个簇的标准差,表示簇中每个点与该簇中心点的距离。默认值为 1.0。 - `center_box`:指定中心点的范围,当 `centers` 为整数时有效。默认值为 (-10.0, 10.0)。 - `shuffle`:是否打乱样本顺序,默认值为 True。 - `random_state`:随机种子,保证每次生成的样本相同。 例如,以下代码将生成一个包含 300 个样本,共四个中心点的聚类数据集: ```python from sklearn.datasets import make_blobs X, y = make_blobs(n_samples=300, centers=4, cluster_std=0.5, random_state=42) ``` 其中,`X` 是生成的样本特征矩阵,`y` 是每个样本所属的簇的标签。可以使用 `matplotlib` 将生成的数据可视化: ```python import matplotlib.pyplot as plt plt.scatter(X[:, 0], X[:, 1], c=y, cmap='viridis') plt.show() ``` 生成的效果如下图所示: ![make_blobs](https://img-blog.csdn.net/20180801173925140?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xlZ2FjeV9wbGFjZV9zaGFyZQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/75)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值