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. 分解生成器#
|
生成一个主要为低秩的矩阵,具有钟形奇异值。 |
|
生成一个信号,作为字典元素的稀疏组合。 |
|
生成一个随机的对称正定矩阵。 |
|
生成一个稀疏对称正定矩阵。 |