MiniBatchSparsePCA
- classsklearn.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)[исходный код]
-
Разреженный анализ главных компонент с мини-пакетами.
Находит набор разреженных компонент, оптимально восстанавливающих данные. Степень разреженности можно регулировать коэффициентом L1-штрафа, задаваемым параметром alpha.
Пример сравнения разреженного PCA с PCA см. в разделе Разложения набора данных лиц
Подробнее см. в руководстве пользователя.
- Параметры:
-
- n_componentsint, default=None
-
Количество извлекаемых разреженных атомов. Если задано None, то
n_componentsпринимает значениеn_features. - alphaint, default=1
-
Параметр, управляющий разреженностью. Чем выше значение, тем более разреженными становятся компоненты.
- ridge_alphafloat, default=0.01
-
Степень регуляризации Риджа, применяемой для улучшения обусловленности при вызове метода transform.
- max_iterint, default=1_000
-
Максимальное количество итераций по всему набору данных до остановки независимо от эвристик критериев досрочной остановки.
Добавлено в версии 1.2.
- callbackcallable, default=None
-
Вызываемый объект, который вызывается каждые пять итераций.
- batch_sizeint, default=3
-
Количество признаков, обрабатываемых в каждом мини-пакете.
- verboseint or bool, default=False
-
Управляет подробностью вывода: чем выше значение, тем больше сообщений. По умолчанию равно 0.
- shufflebool, default=True
-
Определяет, нужно ли перемешивать данные перед разбиением на пакеты.
- n_jobsint, default=None
-
Количество параллельных заданий.
Noneозначает 1, если только не используется контекстjoblib.parallel_backend.-1означает использование всех процессоров. Подробнее см. в глоссарии. - method{‘lars’, ‘cd’}, default=’lars’
-
Метод оптимизации. lars: использует метод регрессии наименьшего угла для решения задачи Lasso (linear_model.lars_path); cd: использует метод покоординатного спуска для вычисления решения Lasso (linear_model.Lasso). Lars работает быстрее, если оцененные компоненты разрежены.
- random_stateint, RandomState instance or None, default=None
-
Используется для случайного перемешивания, когда
shuffleустановлено вTrue, во время онлайн-обучения словаря. Передайте целое число, чтобы получать воспроизводимые результаты при нескольких вызовах функции. См. глоссарий. - tolfloat, default=1e-3
-
Управляет досрочной остановкой на основе нормы разностей словаря между двумя шагами.
Чтобы отключить досрочную остановку на основе изменений словаря, задайте для
tolзначение 0.0.Добавлено в версии 1.1.
- max_no_improvementint or None, default=10
-
Управляет досрочной остановкой на основе последовательного количества мини-пакетов, не приводящих к улучшению сглаженной функции стоимости.
Чтобы отключить обнаружение сходимости на основе функции стоимости, задайте для
max_no_improvementзначениеNone.Добавлено в версии 1.1.
- Атрибуты:
-
- components_ndarray of shape (n_components, n_features)
-
Разреженные компоненты, извлеченные из данных.
- 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.
См. также
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)[исходный код]
-
Обучает модель на данных X.
- Параметры:
-
- Xarray-like of shape (n_samples, n_features)
-
Обучающий вектор, где
n_samples— количество образцов, аn_features— количество признаков. - yIgnored
-
Не используется; присутствует здесь по соглашению для обеспечения согласованности API.
- Возвращает:
-
- selfobject
-
Возвращает сам экземпляр.
- fit_transform(X, y=None, **fit_params)[исходный код]
-
Обучает модель на данных, а затем преобразует их.
Обучает преобразователь на
Xиyс дополнительными параметрамиfit_paramsи возвращает преобразованную версиюX.- Параметры:
-
- Xarray-like of shape (n_samples, n_features)
-
Входные образцы.
- yarray-like of shape (n_samples,) or (n_samples, n_outputs), default=None
-
Целевые значения (None для преобразований без учителя).
- **fit_paramsdict
-
Дополнительные параметры обучения. Передавайте их только в том случае, если оценщик принимает дополнительные параметры в методе
fit.
- Возвращает:
-
- X_newndarray array of shape (n_samples, n_features_new)
-
Преобразованный массив.
- get_feature_names_out(input_features=None)[исходный код]
-
Возвращает названия выходных признаков преобразования.
К названиям выходных признаков добавляется имя класса в нижнем регистре. Например, если преобразователь возвращает 3 признака, их названия будут следующими:
["class_name0", "class_name1", "class_name2"].- Параметры:
-
- input_featuresarray-like of str or None, default=None
-
Используется только для проверки названий признаков по названиям, обнаруженным в
fit.
- Возвращает:
-
- feature_names_outndarray of str objects
-
Названия преобразованных признаков.
- get_metadata_routing()[исходный код]
-
Возвращает маршрутизацию метаданных этого объекта.
О том, как работает механизм маршрутизации, см. в руководстве пользователя.
- Возвращает:
-
- routingMetadataRequest
-
Объект
MetadataRequest, содержащий сведения о маршрутизации.
- get_params(deep=True)[исходный код]
-
Возвращает параметры этого оценщика.
- Параметры:
-
- deepbool, default=True
-
Если True, возвращает параметры этого оценщика и содержащихся в нем вложенных объектов, которые являются оценщиками.
- Возвращает:
-
- paramsdict
-
Имена параметров, сопоставленные их значениям.
- inverse_transform(X)[исходный код]
-
Преобразует данные из скрытого пространства в исходное.
Это обратное преобразование является приближенным из-за потери информации, вызванной прямым разложением.
Добавлено в версии 1.2.
- Параметры:
-
- Xndarray of shape (n_samples, n_components)
-
Данные в скрытом пространстве.
- Возвращает:
-
- X_originalndarray of shape (n_samples, n_features)
-
Восстановленные данные в исходном пространстве.
- set_output(*, transform=None)[исходный код]
-
Задает контейнер вывода.
Подробнее см. в руководстве пользователя, а пример использования API приведен в разделе Знакомство с API set_output.
- Параметры:
-
- transform{“default”, “pandas”, “polars”}, default=None
-
Настраивает вывод
transformиfit_transform.-
"default": формат вывода преобразователя по умолчанию -
"pandas": вывод DataFrame -
"polars": вывод Polars -
None: конфигурация преобразования остается без изменений
Добавлено в версии 1.4: добавлен параметр
"polars". -
- Возвращает:
-
- selfestimator instance
-
Экземпляр оценщика.
- set_params(**params)[исходный код]
-
Задает параметры этого оценщика.
Метод работает как с простыми оценщиками, так и с вложенными объектами (например,
Pipeline). У последних параметры имеют вид<component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.- Параметры:
-
- **paramsdict
-
Параметры оценщика.
- Возвращает:
-
- selfestimator instance
-
Экземпляр оценщика.
- transform(X)[исходный код]
-
Проецирует данные на разреженные компоненты методом наименьших квадратов.
Чтобы избежать проблем с нестабильностью в случае недоопределенной системы, можно применить регуляризацию (регрессию Риджа) с помощью параметра
ridge_alpha.Обратите внимание, что в отличие от PCA, ортогональность компонент Sparse PCA не обеспечивается, поэтому простую линейную проекцию использовать нельзя.
- Параметры:
-
- Xndarray of shape (n_samples, n_features)
-
Тестовые данные для преобразования; число признаков должно совпадать с числом признаков данных, использованных для обучения модели.
- Возвращает:
-
- X_newndarray of shape (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.MiniBatchSparsePCA.html