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