【scikit-learn】06:make_blobs聚类数据生成器

梦想的初衷 提交于 2020-04-25 17:14:11

 

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/kevinelstri/article/details/52622960

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()

这里写图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!