Spec-Zone.ru › scikit-learn

SparsePCA

classsklearn.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)[исходный код]

Анализ главных компонент с разреженностью (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: использует метод регрессии наименьшего угла для решения задачи lasso (linear_model.lars_path); cd: использует метод покоординатного спуска для вычисления решения Lasso (linear_model.Lasso). Lars будет работать быстрее, если оцененные компоненты разрежены.

n_jobsint, по умолчанию=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), по умолчанию=None

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

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

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

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

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

Атрибуты:
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

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

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

feature_names_in_ndarray формы (n_features_in_,)

Названия признаков, обнаруженных во время обучения. Определяется только если 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), по умолчанию=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

Названия преобразованных признаков.

get_metadata_routing()[исходный код]

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

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

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

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

get_params(deep=True)[исходный код]

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

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

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

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

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

inverse_transform(X)[исходный код]

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

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

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

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

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

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

Восстановленные данные в исходном пространстве.

set_output(*, transform=None)[исходный код]

Задать контейнер вывода.

Подробнее см. в руководстве пользователя, а пример использования API приведен в разделе Знакомство с API set_output.

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

Настроить формат вывода для transform и fit_transform.

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

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

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

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

set_params(**params)[исходный код]

Задать параметры этого оценщика.

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

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

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

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

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

transform(X)[исходный код]

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

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

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

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

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

Возвращает:
X_newndarray формы (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.SparsePCA.html

Spec-Zone.ru

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