sklearn 笔记:make_blobs 生成聚类数据

Posted UQI-LIUWJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sklearn 笔记:make_blobs 生成聚类数据相关的知识,希望对你有一定的参考价值。

from sklearn.datasets import make_blobs

1 基本用法

data, label = make_blobs(
    n_features=2, 
    n_samples=100, 
    centers=3, 
    random_state=3, 
    cluster_std=[0.8, 2, 5])

2 参数说明

n_features每一个样本有多少个特征值
n_samples样本的个数
centers

聚类中心的个数

也可以是一个列表,表示每个中心 对应的坐标(维度和n_features一样)

random_state随机种子
cluster_std每个类别的方差

3 使用举例

3.1 centers 为数字

from sklearn.datasets import make_blobs
data, label = make_blobs(n_features=2, 
                         n_samples=100, 
                         centers=2, 
                         random_state=2019, 
                         cluster_std=[0.6,0.7] )

label
'''
array([1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1,
       0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0,
       1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1,
       0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0,
       0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1])
'''
# 100维

data
'''
array([[ 2.42739457,  3.06175875],
       [ 7.05586911, -2.34535549],
       [ 7.49164297, -2.09940869],
       [ 8.95763559, -3.40157028],
       [ 2.17353708,  3.06694536],
......
       [ 2.29981982,  3.8569118 ]])
'''
#100*2 维

import matplotlib.pyplot as plt
colors=['green','blue']
for i,color in enumerate(colors):
    color_tmp=np.where(label==i)[0]
    plt.scatter(data[color_tmp,0],data[color_tmp,1],c=color,label=i)
plt.legend()

3.2 center  为坐标

from sklearn.datasets import make_blobs
data, label = make_blobs(n_features=2, 
                         n_samples=100, 
                         centers=[[-100,1],[0,5]], 
                         random_state=2019, 
                         cluster_std=[0.6,0.7] 

import matplotlib.pyplot as plt
colors=['green','blue']
for i,color in enumerate(colors):
    color_tmp=np.where(label==i)[0]
    plt.scatter(data[color_tmp,0],data[color_tmp,1],c=color,label=i)
plt.legend()

 

以上是关于sklearn 笔记:make_blobs 生成聚类数据的主要内容,如果未能解决你的问题,请参考以下文章

python使用sklearn中的make_blobs函数生成聚类(clustering)分析需要的仿真数据matplotlib可视化生成的仿真数据

from sklearn.datasets import make_blobs:聚类数据生成器

sklearn 中 make_blobs模块

make_blobs

机器学习sklearn19.0聚类算法——Kmeans算法

sklearn 的 make_blob 和多元高斯有啥区别?