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载体
阅读更多的 User Guide .
- 参数:
- n_samplesint,默认=100
样本数量。
- n_featuresint,默认=100
功能的数量。
- effective_rankint,默认值=10
通过线性组合解释大多数数据所需的奇异载体的大约数量。
- tail_strength浮点数,默认值=0.5
奇异值轮廓的粗噪音尾部的相对重要性。该值应介于0和1之间。
- random_stateint,RandomState实例或无,默认=无
确定创建数据集的随机数生成。传递int以获得跨多个函数调用的可重复输出。看到 Glossary .
- 返回:
- X形状的nd数组(n_samples,n_features)
矩阵。
示例
>>> 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)