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