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