Spec-Zone.ru › scikit-learn

Минипакетная разреженная PCA

классsklearn.decomposition.MiniBatchSparsePCA(n_components=None, *, alpha=1, ridge_alpha=0.01, max_iter=1000, callback=None, batch_size=3, verbose=False, shuffle=True, n_jobs=None, method='lars', random_state=None, tol=0.001, max_no_improvement=10)[source]

Анализ главных компонент с разреженностью по мини-пачкам.

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

Пример сравнения разреженного анализа главных компонент с обычным анализом главных компонент см. в Разложения набора данных «Лица»

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

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

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

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

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

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

Степень применения сжатия типа «гребень» для улучшения обусловленности при вызове метода transform.

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

Максимальное количество итераций по всему набору данных до остановки независимо от каких-либо эвристических критериев ранней остановки.

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

callbackcallable, по умолчанию=None

Вызываемая функция, которая вызывается каждые пять итераций.

batch_sizeint, по умолчанию=3

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

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

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

shufflebool, по умолчанию=True

Следует ли перемешивать данные перед разделением их на мини-пачки.

n_jobsint, по умолчанию=None

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

method{‘lars’, ‘cd’}, по умолчанию=’lars’

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

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

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

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

Управление ранней остановкой на основе нормы разностей в словаре между 2 шагами.

Для отключения ранней остановки на основе изменений в словаре установите tol в 0.0.

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

max_no_improvementint или None, по умолчанию=10

Управление ранней остановкой на основе последовательного количества мини-пачек, которые не приносят улучшения на сглаженную функцию стоимости.

Для отключения обнаружения сходимости на основе функции стоимости установите max_no_improvement в None.

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

Атрибуты:
components_массив формы (n_components, n_features)

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

n_components_int

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

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

n_iter_int

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

mean_массив формы (n_features,)

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

n_features_in_int

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

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

feature_names_in_массив формы (n_features_in_,)

Имена признаков, увиденные во время обучения. Определяются только тогда, когда у X есть имена признаков, которые все являются строками.

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

См. также

DictionaryLearning

Находит словарь, который разреженно кодирует данные.

IncrementalPCA

Инкрементальный анализ главных компонент.

PCA

Анализ главных компонент.

SparsePCA

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

TruncatedSVD

Снижение размерности с помощью усечённого SVD.

Примеры

>>> import numpy as np
>>> from sklearn.datasets import make_friedman1
>>> from sklearn.decomposition import MiniBatchSparsePCA
>>> X, _ = make_friedman1(n_samples=200, n_features=30, random_state=0)
>>> transformer = MiniBatchSparsePCA(n_components=5, batch_size=50,
...                                  max_iter=10, random_state=0)
>>> transformer.fit(X)
MiniBatchSparsePCA(...)
>>> 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.9...)
fit(X, y=None)[source]

Обучение модели по данным в X.

Параметры:
Xмассив формы (n_samples, n_features)

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

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_paramsсловарь

Дополнительные параметры обучения.

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

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

END_OF_DOCUMENT_MARKER
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, вернёт параметры данного оценщика и вложенных под-объектов, которые являются оценщиками.

Возвращает:
paramsсловарь

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

inverse_transform(X)[source]

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

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

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

Параметры:
Xмассив NumPy формы (n_samples, n_components)

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

Возвращает:
X_originalмассив NumPy формы (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>, чтобы было возможно обновить каждый компонент вложенного объекта.

Параметры:
**paramsсловарь

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

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

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

transform(X)[source]

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

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

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

Параметры:
Xмассив NumPy формы (n_samples, n_features)

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

Возвращает:
X_newмассив NumPy формы (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.MiniBatchSparsePCA.html

Spec-Zone.ru

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