Минипакетная разреженная 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)
-
Преобразованный массив.
- 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