SparsePCA#

класс sklearn.decomposition.SparsePCA(n_components=None, *, alpha=1, ridge_alpha=0.01, max_iter=1000, tol=1e-08, метод='lars', n_jobs=None, U_init=None, V_init=None, verbose=False, random_state=None)[источник]#

Разреженный анализ главных компонент (SparsePCA).

Находит набор разреженных компонентов, которые могут оптимально восстановить данные. Степень разреженности контролируется коэффициентом штрафа L1, задаваемым параметром alpha.

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

Параметры:
n_componentsint, default=None

Количество разреженных атомов для извлечения. Если None, то n_components установлено в n_features.

alphafloat, по умолчанию=1

Параметр управления разреженностью. Более высокие значения приводят к более разреженным компонентам.

ridge_alphafloat, по умолчанию=0.01

Величина гребневой регрессии для улучшения обусловленности при вызове метода transform.

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

Максимальное количество итераций для выполнения.

tolfloat, по умолчанию=1e-8

Допуск для условия остановки.

метод{‘lars’, ‘cd’}, default=’lars’

Метод, используемый для оптимизации. lars: использует метод наименьшего угла регрессии для решения задачи лассо (linear_model.lars_path) cd: использует метод координатного спуска для вычисления решения лассо (linear_model.Lasso). Lars будет быстрее, если оцененные компоненты разрежены.

n_jobsint, default=None

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

U_initndarray формы (n_samples, n_components), по умолчанию=None

Начальные значения нагрузок для сценариев теплого перезапуска. Используется только если U_init и V_init не являются None.

V_initndarray формы (n_components, n_features), default=None

Начальные значения компонентов для сценариев теплого перезапуска. Используются только если U_init и V_init не являются None.

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

Управляет уровнем детализации вывода; чем выше значение, тем больше сообщений. По умолчанию 0.

random_stateint, экземпляр RandomState или None, по умолчанию=None

Используется при обучении словаря. Передайте int для воспроизводимых результатов при нескольких вызовах функции. См. Глоссарий.

Атрибуты:
components_ndarray формы (n_components, n_features)

Разреженные компоненты, извлеченные из данных.

error_ndarray

Вектор ошибок на каждой итерации.

n_components_int

Оценочное количество компонентов.

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

n_iter_int

Количество выполненных итераций.

mean_ndarray формы (n_features,)

Эмпирическое среднее по каждому признаку, оцененное на обучающей выборке. Равно X.mean(axis=0).

n_features_in_int

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

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

feature_names_in_ndarray формы (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)[источник]#

Обучить модель на данных из X.

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

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

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

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

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

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

fit_transform(X, y=None, **fit_params)[источник]#

Обучение на данных с последующим преобразованием.

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

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

Входные выборки.

yarray-like формы (n_samples,) или (n_samples, n_outputs), default=None

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

**fit_paramsdict

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

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

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

get_feature_names_out(input_features=None)[источник]#

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

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

Параметры:
input_featuresarray-like из str или None, по умолчанию=None

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

Возвращает:
feature_names_outndarray из str объектов

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

6332()[источник]#

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

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

Возвращает:
маршрутизацияMetadataRequest

A MetadataRequest Инкапсуляция информации о маршрутизации.

get_params(глубокий=True)[источник]#

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

Параметры:
глубокийbool, по умолчанию=True

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

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

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

inverse_transform(X)[источник]#

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

Эта инверсия является приближенной из-за потери информации, вызванной прямым разложением.

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

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

Данные в латентном пространстве.

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

Реконструированные данные в исходном пространстве.

set_output(*, преобразовать=None)[источник]#

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

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

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

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

  • "default": Формат вывода трансформера по умолчанию

  • "pandas": DataFrame вывод

  • "polars": Вывод Polars

  • None: Конфигурация преобразования не изменена

Добавлено в версии 1.4: "polars" опция была добавлена.

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

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

set_params(**params)[источник]#

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

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

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

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

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

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

преобразовать(X)[источник]#

Проекция методом наименьших квадратов данных на разреженные компоненты.

Чтобы избежать проблем с нестабильностью в случае недоопределенной системы, можно применить регуляризацию (гребневую регрессию) через ridge_alpha параметр.

Обратите внимание, что ортогональность компонентов разреженного PCA не обеспечивается, как в PCA, поэтому нельзя использовать простое линейное проецирование.

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

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

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

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