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