1. make_blobs :聚类数据
sklearn 中的 make_blobs方法常被用来生成聚类算法的测试数据,直观地说,make_blobs会根据用户指定的特征数量、中心点数量、范围等来生成几类数据,这些数据可用于测试聚类算法的效果。
-
参数
n_samples 是待生成的样本的总数。
n_features 是每个样本的特征数,即维度(默认值=2)
centers 表示类别数。
cluster_std 表示每个类别的方差,例如我们希望生成2类数据,其中一类比另一类具有更大的方差,可以将cluster_std设置为[1.0,3.0]。(也可以以比例的形式)
-
返回值
返回(多维)特征 X,以及对应的标签 y。
1.1 生成二维数据
from sklearn.datasets import make_blobsX, y = make_blobs(n_samples=300, centers=4,random_state=0, cluster_std=1.0)
plt.scatter(X[:, 0], X[:, 1], c=y, s=50, cmap='rainbow');
虽然是聚类数据生成器,但其实也可以生成一维数据(设置n_features=2)
生成一维数据
- 模块导入
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns; sns.set()
from sklearn.datasets import make_blobs
- 生成数据
X, y = make_blobs(n_samples=500, n_features=1, centers=3, cluster_std=0.5, random_state=0)plt.scatter(X, y, c=y)
注意:此时 x 和 y 的数值形成了点坐标的(x,y),而不是像拥有两个特征的X(x1, x2)
参考
sklearn.datasets.make_blobs