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

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

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

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

X ~= code * dictionary

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

Параметры:
словарьndarray формы (n_components, n_features)

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

алгоритм_преобразования{‘lasso_lars’, ‘lasso_cd’, ‘lars’, ‘omp’, ‘threshold’}, по умолчанию=’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, по умолчанию=None

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

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

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

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

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

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

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

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

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

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

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

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

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

Атрибуты:
n_components_int

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

n_features_in_int

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

feature_names_in_ndarray формы (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)[source]

Ничего не делает и возвращает неизмененный оценщик.

Этот метод просто реализует стандартный API и, следовательно, работает в конвейерах.

Параметры:
XИгнорируется

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

yИгнорируется

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

Возвращает:
selfобъект

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

fit_transform(X, y=None, **fit_params)[source]

Подгоняет данные, затем преобразует их.

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

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

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

yмассив-подобный формы (n_samples,) или (n_samples, n_outputs), по умолчанию=None

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

**fit_paramsdict

Дополнительные параметры подгонки.

Возвращает:
X_newмассив ndarray формы (n_samples, n_features_new)

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

get_feature_names_out(input_features=None)[source]

Получение имен выходных признаков для преобразования.

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

Параметры:
input_featuresмассив-подобный из str или None, по умолчанию=None

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

Возвращает:
feature_names_outмассив из str объектов

Имена преобразованных признаков.

get_metadata_routing()[source]

Получить маршрутизацию метаданных этого объекта.

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

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

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

get_params(deep=True)[source]

Получить параметры этого оценщика.

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

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

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

Названия параметров, сопоставленные с их значениями.

propertyn_components_

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

propertyn_features_in_

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

set_output(*, transform=None)[source]

Установить контейнер вывода.

См. Введение в API set_output для примера использования API.

Параметры:
transform{“default”, “pandas”, “polars”}, по умолчанию=None

Настройка вывода transform и fit_transform.

  • "default": Формат вывода по умолчанию преобразователя
  • "pandas": Вывод DataFrame
  • "polars": Вывод Polars
  • None: Настройка преобразования не меняется

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

Возвращает:
selfэкземпляр оценщика

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

set_params(**params)[source]

Установить параметры этого оценщика.

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

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

Параметры оценщика.

Возвращает:
selfэкземпляр оценщика

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

transform(X, y=None)[source]

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

Метод кодирования определяется параметром объекта transform_algorithm.

Параметры:
Xndarray формы (n_samples, n_features)

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

yИгнорируется

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

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

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

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

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

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

Spec-Zone.ru

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