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)#
生成一个主要为低秩矩阵,具有钟形奇异值。
大多数方差可以通过宽度为effective_rank的钟形曲线解释:奇异值的低秩部分的分布为:
(1 - tail_strength) * exp(-1.0 * (i / effective_rank) ** 2)
剩余奇异值的尾部较粗,下降为:
tail_strength * exp(-0.1 * i / effective_rank).
奇异值分布的低秩部分可以被认为是数据的结构化信号部分,而尾部可以被认为是数据的噪声部分,无法通过少量线性分量(奇异向量)总结。
- 这种奇异值分布在实践中经常见到,例如:
面部灰度图像
从网络上抓取的文本文档的TF-IDF向量
更多信息请参阅 用户指南 。
- Parameters:
- n_samplesint, default=100
样本数量。
- n_featuresint, default=100
特征数量。
- effective_rankint, default=10
通过线性组合解释大部分数据的近似奇异向量数量。
- tail_strengthfloat, default=0.5
奇异值分布尾部噪声的相对重要性。值应在0到1之间。
- random_stateint, RandomState实例或None, default=None
确定数据集创建的随机数生成。传递一个int以在多次函数调用中获得可重复的输出。 请参阅 术语表 。
- Returns:
- Xndarray of shape (n_samples, n_features)
矩阵。
Examples
>>> from numpy.linalg import svd >>> from sklearn.datasets import make_low_rank_matrix >>> X = make_low_rank_matrix( ... n_samples=50, ... n_features=25, ... effective_rank=5, ... tail_strength=0.01, ... random_state=0, ... ) >>> X.shape (50, 25)
Gallery examples#
scikit-learn 1.5 版本发布亮点
scikit-learn 1.3 版本发布亮点