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可视化生成的仿真数据