sklearn.datasets.make_low_rank_matrix

sklearn.datasets.make_low_rank_matrix(n_samples=100, n_features=100, *, effective_rank=10, tail_strength=0.5, random_state=None)

[源码]

生成具有钟形奇异值的低阶矩阵

大部分方差可以由有效宽度的钟形曲线解释:奇异值分布图的低秩部分为:

(1 - tail_strength) * exp(-1.0 * (i / effective_rank) ** 2)

剩余奇异值的尾部较粗,递减为:

tail_strength * exp(-0.1 * i / effective_rank).

轮廓的低秩部分可以被认为是数据的结构化信号部分,而尾部可以被认为是数据中的噪声部分,无法用少量的线性分量(奇异矢量)来概括。

在实践中通常会看到这种奇异的轮廓,例如:

  • 人脸的灰度图片
  • 从网上抓取的文本文档的TF-IDF向量

在用户指南中阅读更多内容。

参数 说明
n_samples int, optional (default=100)
样本数。
n_features int, optional (default=100)
特征数。
effective_rank int, optional (default=10)
通过线性组合来解释大多数数据所需的奇异向量的近似数量。
tail_strength float between 0.0 and 1.0, optional (default=0.5)
奇异值分布图的胖嘈杂尾巴的相对重要性。
random_state int, RandomState instance, default=None
确定用于生成数据集的随机数生成。 为多个函数调用传递可重复输出的int值。 请参阅词汇表.。
返回值 说明
X array of shape [n_samples, n_features]
矩阵。