【机器学习】【样本数据生成器】聚类算法中使用make_blobs聚类数据生成器(sklearn.datasets.make_blobs)

本文介绍了如何利用sklearn.datasets模块的make_blobs函数生成用于聚类算法的测试数据集,包括设置参数如n_samples、n_features和centers,并展示了生成数据的图像显示和数据集打印。
摘要由CSDN通过智能技术生成

官网manual详见:sklearn.datasets.make_blobs

klearn.datasets.make_blobs( n_samples=100,             #样本总数
                            n_features=2,              #每个样本的特征值总数
                            centers=3,                 #有几簇聚类数据
                            cluster_std=1.0,           #每簇的标准差,可以设置成[1.0, 2.0, 4.0]依次依次表示每簇数据的标准差
                            center_box=(-10.0, 10.0),  
                            shuffle=True, 
                            random_state=None)

一般使用sklearn的make_blobs模块生成聚类算法使用的测试数据样本集,聚类数据样本集。

样本集:

1)n_samples:样本集中的样本总数

2)n_features:如果每个样本有2个特征数,则可以通过设置入参n_features=2即可

3)centers:如果需要有2簇(或者3簇)聚类数据,可以通过设置入参centers=2即可

4)返回的data就是样本集,data是一个n_features列的数组,data的总元素=n_samples。即一个坐标轴代表样本的一个特征

    data, data_flag = make_blobs(……)

5)返回的第二个data_flag就是每个样本的标记

    data, data_flag = make_blobs(……)

1.代码

# -*- coding: utf-8 -*-
"""
@author: 蔚蓝的天空TOM
Talk is cheap, show me the code
Aim:使用sklearn的make_blobs模块生成聚类算法使用的测试数据,聚类数据样本集
"""

from sklearn.datasets import make_blobs
import matplotlib.pyplot as plt

if __name__ == '__main__':
    #待生成的样本的总数N
    N = 400
    #每个样本的特征数m
    feature_cnt = 2
    #要生成的样本中心(类别)数,或者是确定的中心点
    centers = 3
    #每个类别的方差,例如我们希望生成2类数据,其中一类比另一类具有更大的方差,可以将
    stds = [1.0, 2.0, 4.0]
    #生成的样本数据集
    data = []
    #样本数据集的标签
    data_flag = []
    #生成3簇聚类数据集,每个样本有2个特征数
    data, data_flag = make_blobs(n_samples=N, n_features=feature_cnt, centers=centers, cluster_std=stds)

    #显示方法1:打印数据
    print('feature1:',data[:, 0])
    print('feature2:',data[:,1])
    print('sample flag:',data_flag)
    #显示方法2:显示图形
    plt.scatter(data[:, 0], data[:, 1], c=data_flag)
    plt.show()

2.生成的聚类数据样本集

2.1图像显示


2.2数据集打印

runfile('C:/Users/Administrator/tom_sklearn_make_blobs.py', wdir='C:/Users/Administrator')
feature1: [  2.54001684   5.22477454  -6.10862356  -9.44626916  -7.19535902
   5.2679688  -11.42425981  -9.67999405  -5.75053619   3.41957156
   5.09385822   3.63539
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值