SparsePCA
- классsklearn.decomposition.SparsePCA(n_components=None, *, alpha=1, ridge_alpha=0.01, max_iter=1000, tol=1e-08, method='lars', n_jobs=None, U_init=None, V_init=None, verbose=False, random_state=None)[source]
-
Разложение главных компонент с разреженностью (SparsePCA).
Находит набор разреженных компонент, которые оптимально восстанавливают данные. Степень разреженности контролируется коэффициентом L1-штрафа, задаваемого параметром alpha.
Подробнее см. в Руководстве пользователя.
- Параметры:
-
- n_componentsint, по умолчанию=None
-
Количество разреженных атомов для извлечения. Если None, то
n_componentsустанавливается вn_features. - alphafloat, по умолчанию=1
-
Параметр, контролирующий разреженность. Более высокие значения приводят к более разреженным компонентам.
- ridge_alphafloat, по умолчанию=0.01
-
Величина сжатия по методу гребневой регрессии, применяемая для улучшения обусловленности при вызове метода transform.
- max_iterint, по умолчанию=1000
-
Максимальное количество итераций.
- tolfloat, по умолчанию=1e-8
-
Погрешность для условия остановки.
- method{‘lars’, ‘cd’}, по умолчанию=’lars’
-
Метод, используемый для оптимизации. lars: использует метод наименьших углов для решения задачи лассо (linear_model.lars_path) cd: использует метод координатного спуска для вычисления решения лассо (linear_model.Lasso). Lars будет быстрее, если оцениваемые компоненты разреженные.
- n_jobsint, по умолчанию=None
-
Количество параллельных задач.
Noneозначает 1, если не в контекстеjoblib.parallel_backend.-1означает использование всех процессоров. См. Словарь для получения дополнительной информации. - U_initndarray of shape (n_samples, n_components), по умолчанию=None
-
Начальные значения нагрузок для сценариев теплого запуска. Используется только если
U_initиV_initне равны None. - V_initndarray of shape (n_components, n_features), по умолчанию=None
-
Начальные значения компонент для сценариев теплого запуска. Используется только если
U_initиV_initне равны None. - verboseint или bool, по умолчанию=False
-
Управляет подробностью вывода сообщений; чем выше значение, тем больше сообщений. По умолчанию 0.
- random_stateint, RandomState instance или None, по умолчанию=None
-
Используется во время обучения словаря. Передайте целое число для воспроизводимых результатов при многократных вызовах функций. См. Словарь.
- Атрибуты:
-
- components_ndarray of shape (n_components, n_features)
-
Извлеченные разреженные компоненты из данных.
- error_ndarray
-
Вектор ошибок на каждой итерации.
- n_components_int
-
Оцененное количество компонент.
Добавлен в версии 0.23.
- n_iter_int
-
Количество выполненных итераций.
- mean_ndarray of shape (n_features,)
-
Эмпирическое среднее значение по каждой характеристике, оцененное из обучающего набора. Равно
X.mean(axis=0). - n_features_in_int
-
Количество признаков, увиденных во время fit.
Добавлен в версии 0.24.
-
feature_names_in_ndarray of shape (
n_features_in_,) -
Имена признаков, увиденные во время fit. Определяются только когда
Xимеет имена признаков, которые все являются строками.Добавлен в версии 1.0.
См. также
PCA-
Реализация анализа главных компонент.
MiniBatchSparsePCA-
Вариант мини-пакета
SparsePCA, который быстрее, но менее точен. DictionaryLearning-
Общая задача обучения словарю с использованием разреженного кода.
Примеры
>>> import numpy as np >>> from sklearn.datasets import make_friedman1 >>> from sklearn.decomposition import SparsePCA >>> X, _ = make_friedman1(n_samples=200, n_features=30, random_state=0) >>> transformer = SparsePCA(n_components=5, random_state=0) >>> transformer.fit(X) SparsePCA(...) >>> X_transformed = transformer.transform(X) >>> X_transformed.shape (200, 5) >>> # most values in the components_ are zero (sparsity) >>> np.mean(transformer.components_ == 0) np.float64(0.9666...)
- fit(X, y=None)[source]
-
Обучить модель на данных X.
- Параметры:
-
- Xarray-like of shape (n_samples, n_features)
-
Вектор обучающих данных, где
n_samples— количество выборок, аn_features— количество признаков. - yИгнорируется
-
Не используется, присутствует здесь для соответствия API по соглашению.
- Возвращает:
-
- selfobject
-
Возвращает экземпляр самого себя.
- fit_transform(X, y=None, **fit_params)[source]
-
Обучение на данных, затем преобразование.
Обучает преобразователь на
Xиyс необязательными параметрамиfit_paramsи возвращает преобразованный вариантX.- Параметры:
-
- Xarray-like of shape (n_samples, n_features)
-
Входные образцы.
- yarray-like of shape (n_samples,) or (n_samples, n_outputs), по умолчанию=None
-
Значения целевой переменной (None для безконтрольных преобразований).
- **fit_paramsdict
-
Дополнительные параметры обучения.
- Возвращает:
-
- X_newndarray array of shape (n_samples, n_features_new)
-
Преобразованный массив.
- get_feature_names_out(input_features=None)[source]
-
Получение имен выходных признаков для преобразования.
Имена выходных признаков будут иметь префикс с именем класса в нижнем регистре. Например, если преобразователь выводит 3 признака, то имена выходных признаков:
["class_name0", "class_name1", "class_name2"].- Параметры:
-
- input_featuresarray-like of str or None, по умолчанию=None
-
Используется только для проверки имен признаков с именами, увиденными в
fit.
- Возвращает:
-
- feature_names_outndarray of str objects
-
Имена преобразованных признаков.
- get_metadata_routing()[source]
-
Получить маршрутизацию метаданных этого объекта.
Обратитесь к Руководству пользователя, чтобы узнать, как работает механизм маршрутизации.
- Возвращает:
-
- routingMetadataRequest
-
MetadataRequest, содержащий информацию о маршрутизации.
- get_params(deep=True)[source]
-
Получить параметры этого оценщика.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, вернёт параметры этого оценщика и вложенных подобъектов, являющихся оценщиками.
- Возвращает:
-
- paramsdict
-
Названия параметров, сопоставленные со значениями.
- inverse_transform(X)[source]
-
Преобразование данных из латентного пространства в исходное пространство.
Это обращение является приближением из-за потери информации, вызванной прямым разложением.
Добавлена в версии 1.2.
- Параметры:
-
- Xndarray формы (n_samples, n_components)
-
Данные в латентном пространстве.
- Возвращает:
-
- X_originalndarray формы (n_samples, n_features)
-
Восстановленные данные в исходном пространстве.
- 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)[source]
-
Проекция данных на разреженные компоненты методом наименьших квадратов.
Для избежания проблем с устойчивостью в случае недоопределённой системы можно применить регуляризацию (линейная регрессия с регуляризацией Тихонова) через параметр
ridge_alpha.Обратите внимание, что ортогональность компонентов Sparse PCA не навязывается, как в PCA, поэтому нельзя использовать простое линейное проектирование.
- Параметры:
-
- Xndarray формы (n_samples, n_features)
-
Данные для преобразования, должны иметь такое же количество признаков, как и данные, используемые для обучения модели.
- Возвращает:
-
- 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.SparsePCA.html