7.3. 生成的数据集#
此外,scikit-learn 包含了各种随机样本生成器,可以用来构建受控大小和复杂度的人工数据集。
7.3.1. 分类和聚类的生成器#
这些生成器产生特征矩阵和相应的离散目标。
7.3.1.1. 单标签#
make_blobs
和 make_classification
通过为每个类分配一个或多个正态分布的点簇来创建多类数据集。make_blobs
提供了关于每个簇的中心和标准差的更大控制,用于演示聚类。make_classification
专门通过以下方式引入噪声:相关、冗余和不具信息性的特征;每个类的多个高斯簇;以及特征空间的线性变换。
make_gaussian_quantiles
将单个高斯簇划分为近似等大小的类,由同心超球面分隔。make_hastie_10_2
生成一个类似的二元、10维问题。
make_circles
和 make_moons
生成二维二元分类数据集,这些数据集对某些算法(例如基于质心的聚类或线性分类)具有挑战性,包括可选的高斯噪声。它们对于可视化很有用。make_circles
生成具有球形决策边界的二元分类的高斯数据,而 make_moons
生成两个相互交错的半圆。
7.3.1.2. 多标签#
make_multilabel_classification
生成具有多个标签的随机样本,反映了一个从多个主题混合中抽取的词袋。标签的数量
每个文档的主题是从泊松分布中抽取的,而主题本身是从固定的随机分布中抽取的。类似地,单词的数量也是从泊松分布中抽取的,单词则从多项分布中抽取,其中每个主题定义了单词上的概率分布。相对于真实的词袋混合模型的简化包括:
每个主题的单词分布是独立抽取的,而实际上所有分布都会受到稀疏基础分布的影响,并且会相互关联。
对于从多个主题生成的文档,所有主题在生成其词袋时权重相等。
没有标签的文档随机抽取单词,而不是从基础分布中抽取。
7.3.1.3. 双聚类#
|
生成一个用于双聚类的常量块对角结构数组。 |
|
生成一个用于双聚类的块状棋盘结构的数组。 |
7.3.2. 回归生成器#
make_regression
生成回归目标作为随机特征的随机线性组合(可选稀疏),并带有噪声。其信息特征可能不相关,或者低秩(少数特征解释了大部分方差)。
其他回归生成器从随机特征中确定性地生成函数。make_sparse_uncorrelated
生成一个目标作为四个特征的线性组合,具有固定系数。其他生成器明确编码非线性关系:make_friedman1
通过多项式和正弦变换相关;make_friedman2
包括特征乘法和倒数;而 make_friedman3
类似,但在目标上进行了反正切变换。
7.3.3. 流形学习生成器#
|
生成一个S形曲线数据集。 |
|
生成一个瑞士卷数据集。 |
7.3.4. 分解生成器#
|
生成一个主要为低秩矩阵,具有钟形奇异值。 |
make_sparse_coded_signal make_spd_matrix make_sparse_spd_matrix