7.3. 生成的数据集#

此外,scikit-learn 包含了各种随机样本生成器,可以用来构建受控大小和复杂度的人工数据集。

7.3.1. 分类和聚类的生成器#

这些生成器产生特征矩阵和相应的离散目标。

7.3.1.1. 单标签#

make_blobsmake_classification 通过为每个类分配一个或多个正态分布的点簇来创建多类数据集。make_blobs 提供了关于每个簇的中心和标准差的更大控制,用于演示聚类。make_classification 专门通过以下方式引入噪声:相关、冗余和不具信息性的特征;每个类的多个高斯簇;以及特征空间的线性变换。

make_gaussian_quantiles 将单个高斯簇划分为近似等大小的类,由同心超球面分隔。make_hastie_10_2 生成一个类似的二元、10维问题。

../_images/sphx_glr_plot_random_dataset_001.png

make_circlesmake_moons 生成二维二元分类数据集,这些数据集对某些算法(例如基于质心的聚类或线性分类)具有挑战性,包括可选的高斯噪声。它们对于可视化很有用。make_circles 生成具有球形决策边界的二元分类的高斯数据,而 make_moons 生成两个相互交错的半圆。

7.3.1.2. 多标签#

make_multilabel_classification 生成具有多个标签的随机样本,反映了一个从多个主题混合中抽取的词袋。标签的数量 每个文档的主题是从泊松分布中抽取的,而主题本身是从固定的随机分布中抽取的。类似地,单词的数量也是从泊松分布中抽取的,单词则从多项分布中抽取,其中每个主题定义了单词上的概率分布。相对于真实的词袋混合模型的简化包括:

  • 每个主题的单词分布是独立抽取的,而实际上所有分布都会受到稀疏基础分布的影响,并且会相互关联。

  • 对于从多个主题生成的文档,所有主题在生成其词袋时权重相等。

  • 没有标签的文档随机抽取单词,而不是从基础分布中抽取。

../_images/sphx_glr_plot_random_multilabel_dataset_001.png

7.3.1.3. 双聚类#

make_biclusters(shape, n_clusters, *[, ...])

生成一个用于双聚类的常量块对角结构数组。

make_checkerboard(shape, n_clusters, *[, ...])

生成一个用于双聚类的块状棋盘结构的数组。

7.3.2. 回归生成器#

make_regression 生成回归目标作为随机特征的随机线性组合(可选稀疏),并带有噪声。其信息特征可能不相关,或者低秩(少数特征解释了大部分方差)。

其他回归生成器从随机特征中确定性地生成函数。make_sparse_uncorrelated 生成一个目标作为四个特征的线性组合,具有固定系数。其他生成器明确编码非线性关系:make_friedman1 通过多项式和正弦变换相关;make_friedman2 包括特征乘法和倒数;而 make_friedman3 类似,但在目标上进行了反正切变换。

7.3.3. 流形学习生成器#

make_s_curve([n_samples, noise, random_state])

生成一个S形曲线数据集。

make_swiss_roll([n_samples, noise, ...])

生成一个瑞士卷数据集。

7.3.4. 分解生成器#

make_low_rank_matrix([n_samples, ...])

生成一个主要为低秩矩阵,具有钟形奇异值。

make_sparse_coded_signal make_spd_matrix make_sparse_spd_matrix