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 векторы текстовых документов, собранных из интернета
Подробнее в Руководство пользователя.
- Параметры:
- n_samplesint, по умолчанию=100
Количество образцов.
- n_featuresint, по умолчанию=100
Количество признаков.
- effective_rankint, по умолчанию=10
Приблизительное количество сингулярных векторов, необходимых для объяснения большей части данных линейными комбинациями.
- tail_strengthfloat, по умолчанию=0.5
Относительная важность жирного зашумленного хвоста профиля сингулярных значений. Значение должно быть между 0 и 1.
- random_stateint, экземпляр RandomState или None, по умолчанию=None
Определяет генерацию случайных чисел для создания набора данных. Передайте целое число для воспроизводимого результата при нескольких вызовах функции. См. Глоссарий.
- Возвращает:
- Xndarray формы (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)