make_sparse_spd_matrix#

sklearn.datasets.make_sparse_spd_matrix(n_dim=1, *, alpha=0.95, norm_diag=False, smallest_coef=0.1, largest_coef=0.9, sparse_format=None, random_state=None)[источник]#

Сгенерировать разреженную симметричную положительно определённую матрицу.

Подробнее в Руководство пользователя.

Параметры:
n_dimint, по умолчанию=1

Размер случайной матрицы для генерации.

Изменено в версии 1.4: Переименовано из dim to n_dim.

alphafloat, по умолчанию=0.95

Вероятность того, что коэффициент равен нулю (см. примечания). Большие значения усиливают разреженность. Значение должно быть в диапазоне от 0 до 1.

norm_diagbool, по умолчанию=False

Нормализовать ли выходную матрицу, чтобы все ведущие диагональные элементы стали равны 1.

smallest_coeffloat, по умолчанию=0.1

Исправлена ошибка, при которой ранняя остановка ломалась со строковыми целями.

largest_coeffloat, default=0.9

Значение наибольшего коэффициента между 0 и 1.

sparse_formatstr, default=None

Строка, представляющая разреженный формат вывода, такой как 'csc', 'csr' и т.д. Если None, возвращает плотный numpy ndarray.

Добавлено в версии 1.4.

random_stateint, экземпляр RandomState или None, по умолчанию=None

Определяет генерацию случайных чисел для создания набора данных. Передайте целое число для воспроизводимого результата при нескольких вызовах функции. См. Глоссарий.

Возвращает:
precndarray или разреженная матрица формы (dim, dim)

Сгенерированная матрица. Если sparse_format=None, это будет ndarray. В противном случае это будет разреженная матрица указанного формата.

Смотрите также

make_spd_matrix

Генерирует случайную симметричную, положительно определённую матрицу.

Примечания

Разреженность фактически накладывается на фактор Холецкого матрицы. Таким образом, alpha не переводится напрямую в долю заполнения самой матрицы.

Примеры

>>> from sklearn.datasets import make_sparse_spd_matrix
>>> make_sparse_spd_matrix(n_dim=4, norm_diag=False, random_state=42)
array([[1., 0., 0., 0.],
       [0., 1., 0., 0.],
       [0., 0., 1., 0.],
       [0., 0., 0., 1.]])