maxframe.learn.datasets.make_low_rank_matrix#
- maxframe.learn.datasets.make_low_rank_matrix(n_samples=100, n_features=100, effective_rank=10, tail_strength=0.5, random_state=None, chunk_size=None)[源代码]#
生成一个具有钟形奇异值的 mostly low rank 矩阵
大多数方差可以通过宽度为 effective_rank 的钟形曲线来解释:奇异值分布的低秩部分为:
(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 or None (default)) -- 决定数据集创建时的随机数生成方式。传入一个整数可以在多次函数调用中获得可重现的输出。详见 术语表。
chunk_size (int or tuple of int or tuple of ints, optional) -- 每个维度上期望的分块大小
- 返回:
X -- 矩阵。
- 返回类型:
array of shape [n_samples, n_features]