6.4. 样本生成器

此外,scikit-learn 包括各种随机样本的生成器,可以用来建立可控制的大小和复杂性人工数据集。

6.4.1. 分类和聚类生成器

这些生成器将产生一个相应特征的离散矩阵。

6.4.1.1. 单标签

make_blobsmake_classification 通过分配每个类的一个或多个正态分布的点的群集创建的多类数据集。 make_blobs 对于中心和各簇的标准偏差提供了更好的控制,可用于演示聚类。 make_classification 专门通过引入相关的,冗余的和未知的噪音特征;将高斯集群的每类复杂化;在特征空间上进行线性变换。

make_gaussian_quantiles 将single Gaussian cluster (单高斯簇)分成近乎相等大小的同心超球面分离。 make_hastie_10_2 产生类似的二进制、10维问题。

http://sklearn.apachecn.org/cn/0.19.0/_images/sphx_glr_plot_random_dataset_0011.png

make_circlesmake_moon生成二维分类数据集时可以帮助确定算法(如质心聚类或线性分类),包括可以选择性加入高斯噪声。它们有利于可视化。make_circles生成高斯数据,带有球面决策边界以用于二进制分类,而make_moon生成两个交叉的半圆。

6.4.1.2. 多标签

make_multilabel_classification 生成多个标签的随机样本,反映从a mixture of topics(一个混合的主题)中引用a bag of words (一个词袋)。每个文档的主题数是基于泊松分布随机提取的,同时主题本身也是从固定的随机分布中提取的。同样地,单词的数目是基于泊松分布提取的,单词通过多项式被抽取,其中每个主题定义了单词的概率分布。在以下方面真正简化了 bag-of-words mixtures (单词混合包):

  • 独立绘制的每个主题词分布,在现实中,所有这些都会受到稀疏基分布的影响,并将相互关联。
  • 对于从文档中生成多个主题,所有主题在生成单词包时都是同等权重的。
  • 随机产生没有标签的文件,而不是基于分布(base distribution)来产生文档

http://sklearn.apachecn.org/cn/0.19.0/_images/sphx_glr_plot_random_multilabel_dataset_0011.png

6.4.1.3. 二分聚类

调用描述
make_biclusters(shape, n_clusters[, noise, …])Generate an array with constant block diagonal structure for biclustering.
make_checkerboard(shape, n_clusters[, …])Generate an array with block checkerboard structure for biclustering.

6.4.2. 回归生成器

make_regression 产生的回归目标作为一个可选择的稀疏线性组合的具有噪声的随机的特征。它的信息特征可能是不相关的或低秩(少数特征占大多数的方差)。

其他回归生成器产生确定性的随机特征函数。 make_sparse_uncorrelated 产生目标为一个有四个固定系数的线性组合。其他编码明确的非线性关系:make_friedman1 与多项式和正弦相关变换相联系; make_friedman2 包括特征相乘与交互; make_friedman3 类似与对目标的反正切变换。

6.4.3. 流形学习生成器

调用描述
make_s_curve([n_samples, noise, random_state])Generate an S curve dataset.
make_swiss_roll([n_samples, noise, random_state])Generate a swiss roll dataset.

6.4.4. 生成器分解

调用描述
make_low_rank_matrix([n_samples, …])Generate a mostly low rank matrix with bell-shaped singular values
make_sparse_coded_signal(n_samples, …[, …])Generate a signal as a sparse combination of dictionary elements.
make_spd_matrix(n_dim[, random_state])Generate a random symmetric, positive-definite matrix.
make_sparse_spd_matrix([dim, alpha, …])Generate a sparse symmetric definite positive matrix.