Spec-Zone.ru › scikit-learn

SparseCoder

classsklearn.decomposition.SparseCoder(dictionary, *, transform_algorithm='omp', transform_n_nonzero_coefs=None, transform_alpha=None, split_sign=False, n_jobs=None, positive_code=False, transform_max_iter=1000)[исходный код]

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

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

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

X ~= code * dictionary

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

Параметры:
dictionaryndarray of shape (n_components, n_features)

Атомы словаря, используемые для разреженного кодирования. Предполагается, что строки нормированы до единичной нормы.

transform_algorithm{‘lasso_lars’, ‘lasso_cd’, ‘lars’, ‘omp’, ‘threshold’}, default=’omp’

Алгоритм, используемый для преобразования данных:

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

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

transform_alphafloat, default=None

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

split_signbool, default=False

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

n_jobsint, default=None

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

positive_codebool, default=False

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

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

transform_max_iterint, default=1000

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

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

Атрибуты:
n_components_int

Количество атомов.

n_features_in_int

Количество признаков, обнаруженных во время обучения.

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

feature_names_in_ndarray of shape (n_features_in_,)

Названия признаков, обнаруженных во время обучения. Определяется, только если X содержит названия признаков, представленные строками.

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

См. также

DictionaryLearning

Находит словарь для разреженного кодирования данных.

MiniBatchDictionaryLearning

Более быстрый, но менее точный вариант алгоритма обучения словаря.

MiniBatchSparsePCA

Анализ главных компонент с разреженностью и мини-пакетами.

SparsePCA

Анализ главных компонент с разреженностью.

sparse_encode

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

Примеры

>>> import numpy as np
>>> from sklearn.decomposition import SparseCoder
>>> 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
... )
>>> coder = SparseCoder(
...     dictionary=dictionary, transform_algorithm='lasso_lars',
...     transform_alpha=1e-10,
... )
>>> coder.transform(X)
array([[ 0.,  0., -1.,  0.,  0.],
       [ 0.,  1.,  1.,  0.,  0.]])
fit(X, y=None)[исходный код]

Проверяет только параметры оценивателя.

Этот метод позволяет: (i) проверять параметры оценивателя и (ii) обеспечивать совместимость с API преобразователей scikit-learn.

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

Обучающие данные. Используются только для проверки входных данных.

yIgnored

Не используется; предусмотрен для согласованности API по соглашению.

Возвращает:
selfobject

Возвращает сам экземпляр.

fit_transform(X, y=None, **fit_params)[исходный код]

Обучает преобразователь на данных, затем преобразует их.

Обучает преобразователь на X и y с необязательными параметрами fit_params и возвращает преобразованную версию X.

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

Входные образцы.

yarray-like of shape (n_samples,) or (n_samples, n_outputs), default=None

Целевые значения (None для преобразований без учителя).

**fit_paramsdict

Дополнительные параметры обучения. Передавайте их, только если оцениватель принимает дополнительные параметры в методе fit.

Возвращает:
X_newndarray array of shape (n_samples, n_features_new)

Преобразованный массив.

get_feature_names_out(input_features=None)[исходный код]

Возвращает названия выходных признаков после преобразования.

К названиям выходных признаков будет добавлено имя класса в нижнем регистре. Например, если преобразователь возвращает 3 признака, их названия будут такими: ["class_name0", "class_name1", "class_name2"].

Параметры:
input_featuresarray-like of str or None, default=None

Используется только для проверки названий признаков по названиям, полученным в fit.

Возвращает:
feature_names_outndarray of str objects

Названия преобразованных признаков.

get_metadata_routing()[исходный код]

Возвращает маршрутизацию метаданных этого объекта.

Ознакомьтесь с Руководством пользователя, чтобы узнать, как работает механизм маршрутизации.

Возвращает:
routingMetadataRequest

Объект MetadataRequest, содержащий информацию о маршрутизации.

get_params(deep=True)[исходный код]

Возвращает параметры этого оценивателя.

Параметры:
deepbool, default=True

Если True, возвращает параметры этого оценивателя и содержащихся в нём подобъектов, которые являются оценивателями.

Возвращает:
paramsdict

Сопоставление имён параметров с их значениями.

inverse_transform(X)[исходный код]

Преобразует данные обратно в исходное пространство.

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

Данные для обратного преобразования. Число компонент должно совпадать с числом компонент данных, использованных для обучения модели.

Возвращает:
X_originalndarray of shape (n_samples, n_features)

Преобразованные данные.

set_output(*, transform=None)[исходный код]

Задаёт контейнер выходных данных.

Подробнее см. в руководстве пользователя, а пример использования API приведён в разделе Знакомство с API set_output.

Параметры:
transform{“default”, “pandas”, “polars”}, default=None

Настраивает формат выходных данных для transform и fit_transform.

  • "default": формат выходных данных преобразователя по умолчанию
  • "pandas": вывод в формате DataFrame
  • "polars": вывод в формате Polars
  • None: конфигурация преобразования не изменяется

Добавлено в версии 1.4: добавлен параметр "polars".

Возвращает:
selfestimator instance

Экземпляр оценивателя.

set_params(**params)[исходный код]

Задаёт параметры этого оценивателя.

Метод работает как с простыми оценивателями, так и с вложенными объектами (например, Pipeline). У последних параметры имеют вид <component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.

Параметры:
**paramsdict

Параметры оценивателя.

Возвращает:
selfestimator instance

Экземпляр оценивателя.

transform(X, y=None)[исходный код]

Кодирует данные как разреженную комбинацию атомов словаря.

Способ кодирования задаётся параметром объекта transform_algorithm.

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

Обучающий вектор, где n_samples — количество образцов, а n_features — количество признаков.

yIgnored

Не используется; предусмотрен для согласованности API по соглашению.

Возвращает:
X_newndarray of shape (n_samples, n_components)

Преобразованные данные.

Примеры из галереи

Разреженное кодирование с предварительно вычисленным словарём

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

Spec-Zone.ru

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