使用sklearn生成数据集
-
sklearn.datasets 中有多个生成数据集的方法
1.生成符合正态分布的聚类数据
-
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)
参数说明
n_samples: int, optional (default=100) 生成样本的总数 The total number of points equally divided among clusters.
n_features: int, optional (default=2) 每个样本的特征数目,特征维度数目 The number of features for each sample.
centers: int or array of shape [n_centers, n_features], optional (default=3)
生成的样本中心数,即类别数目
The number of centers to generate, or the fixed center locations.
cluster_std: float or sequence of floats, optional (default=1.0) The standard deviation of the clusters.
每个类别的方差,例如生成2类数据,其中一类比另一类具有更大的方差,可以将cluster_std设置为[1.0,3.0]
center_box: pair of floats (min, max), optional (default=(-10.0, 10.0))
The bounding box for each cluster center when centers are generated at random.
shuffle: boolean, optional (default=True) Shuffle the samples.
random_state: int, RandomState instance or None, optional (default=None)
If int, random_state is the seed used by the random number generator; If RandomState instance, random_state is the random number generator; If None, the random number generator is the RandomState instance used by np.random.(类似于随机种子)
returns / 返回值
X: array of shape [n_samples, n_features] 生成的样本数据集
The generated samples.
y : array of shape [n_samples] 样本数据集的标签
The integer labels for cluster membership of each sample.
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
plt.figure(figsize=(12, 12))
seed = np.random.randint(int(1e9))
x, y =