Spec-Zone.ru › scikit-learn

sparse_encode

sklearn.decomposition.sparse_encode(X, dictionary, *, gram=None, cov=None, algorithm='lasso_lars', n_nonzero_coefs=None, alpha=None, copy_cov=True, init=None, max_iter=1000, n_jobs=None, check_input=True, verbose=0, positive=False)[исходный код]

Разреженное кодирование.

Каждая строка результата является решением задачи разреженного кодирования. Цель — найти разреженный массив code такой, что:

X ~= code * dictionary

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

Параметры:
Xмассивоподобный объект формы (n_samples, n_features)

Матрица данных.

dictionaryмассивоподобный объект формы (n_components, n_features)

Матрица словаря, относительно которой решается задача разреженного кодирования данных. Для получения содержательных результатов некоторые алгоритмы предполагают, что строки нормализованы.

gramмассивоподобный объект формы (n_components, n_components), по умолчанию=None

Предварительно вычисленная матрица Грама, dictionary * dictionary'.

covмассивоподобный объект формы (n_components, n_samples), по умолчанию=None

Предварительно вычисленная ковариация, dictionary' * X.

algorithm{‘lasso_lars’, ‘lasso_cd’, ‘lars’, ‘omp’, ‘threshold’}, по умолчанию=’lasso_lars’

Используемый алгоритм:

  • 'lars': использует метод регрессии наименьшего угла (linear_model.lars_path);
  • 'lasso_lars': использует Lars для вычисления решения Lasso;
  • 'lasso_cd': использует метод покоординатного спуска для вычисления решения Lasso (linear_model.Lasso). lasso_lars работает быстрее, если оценки компонент разрежены;
  • 'omp': использует ортогональный жадный поиск по совпадению для оценки разреженного решения;
  • 'threshold': обнуляет все коэффициенты, меньшие порога регуляризации для проекции dictionary * data'.
n_nonzero_coefsint, по умолчанию=None

Целевое число ненулевых коэффициентов в каждом столбце решения. Используется только алгоритмами algorithm='lars' и algorithm='omp' и переопределяется параметром alpha в случае omp. Если None, то n_nonzero_coefs=int(n_features / 10).

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

Если algorithm='lasso_lars' или algorithm='lasso_cd', alpha — штраф, применяемый к норме L1. Если algorithm='threshold', alpha — абсолютное значение порога, ниже которого коэффициенты обнуляются. Если algorithm='omp', alpha — параметр допуска: целевое значение ошибки восстановления. В этом случае он переопределяет n_nonzero_coefs. Если None, значение по умолчанию равно 1.

copy_covbool, по умолчанию=True

Следует ли копировать предварительно вычисленную матрицу ковариации; если False, она может быть перезаписана.

initndarray формы (n_samples, n_components), по умолчанию=None

Начальное значение разреженных кодов. Используется только при algorithm='lasso_cd'.

max_iterint, по умолчанию=1000

Максимальное число итераций, если algorithm='lasso_cd' или 'lasso_lars'.

n_jobsint, по умолчанию=None

Число параллельных задач. None означает 1, если только выполнение не происходит в контексте joblib.parallel_backend. -1 означает использование всех процессоров. Подробнее см. в глоссарии.

check_inputbool, по умолчанию=True

Если False, входные массивы X и dictionary не будут проверяться.

verboseint, по умолчанию=0

Уровень подробности вывода: чем выше значение, тем больше сообщений.

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

Следует ли требовать положительности при поиске кодирования.

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

Возвращает:
codendarray формы (n_samples, n_components)

Разреженные коды.

См. также

sklearn.linear_model.lars_path

Вычисляет путь регрессии наименьшего угла или Lasso с помощью алгоритма LARS.

sklearn.linear_model.orthogonal_mp

Решает задачи ортогонального жадного поиска по совпадению.

sklearn.linear_model.Lasso

Обучает линейную модель с априорным распределением L1 в качестве регуляризатора.

SparseCoder

Находит разреженное представление данных по фиксированному предварительно вычисленному словарю.

Примеры

>>> import numpy as np
>>> from sklearn.decomposition import sparse_encode
>>> X = np.array([[-1, -1, -1], [0, 0, 3]])
>>> dictionary = np.array(
...     [[0, 1, 0],
...      [-1, -1, 2],
...      [1, 1, 1],
...      [0, 1, 1],
...      [0, 2, 1]],
...    dtype=np.float64
... )
>>> sparse_encode(X, dictionary, alpha=1e-10)
array([[ 0.,  0., -1.,  0.,  0.],
       [ 0.,  1.,  1.,  0.,  0.]])

© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.decomposition.sparse_encode.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API