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)[source]

Разложение с разреженными кодами.

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

X ~= code * dictionary

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

Параметры:
Xarray-like of shape (n_samples, n_features)

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

dictionaryarray-like of shape (n_components, n_features)

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

gramarray-like of shape (n_components, n_components), default=None

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

covarray-like of shape (n_components, n_samples), default=None

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

algorithm{‘lasso_lars’, ‘lasso_cd’, ‘lars’, ‘omp’, ‘threshold’}, default=’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, default=None

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

alphafloat, default=None

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

copy_covbool, default=True

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

initndarray of shape (n_samples, n_components), default=None

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

max_iterint, default=1000

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

n_jobsint, default=None

Количество параллельных задач. None означает 1, за исключением контекста joblib.parallel_backend. -1 означает использование всех процессоров. См. Словарь для получения более подробной информации.

check_inputbool, default=True

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

verboseint, default=0

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

positivebool, default=False

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

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

Возвращает:
codendarray of shape (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–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.decomposition.sparse_encode.html

Spec-Zone.ru

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