MiniBatchSparsePCA#
- класс sklearn.decomposition.MiniBatchSparsePCA(n_components=None, *, alpha=1, ridge_alpha=0.01, max_iter=1000, callback=None, batch_size=3, verbose=False, перемешивание=True, n_jobs=None, метод='lars', random_state=None, tol=0.001, max_no_improvement=10)[источник]#
Мини-пакетный разреженный анализ главных компонент.
Находит набор разреженных компонентов, которые могут оптимально восстановить данные. Степень разреженности контролируется коэффициентом штрафа L1, задаваемым параметром alpha.
Для примера сравнения разреженного PCA с PCA см. Разложения набора данных Faces
Подробнее в Руководство пользователя.
- Параметры:
- n_componentsint, default=None
Количество разреженных атомов для извлечения. Если None, то
n_componentsустановлено вn_features.- alphaint, по умолчанию=1
Параметр управления разреженностью. Более высокие значения приводят к более разреженным компонентам.
- ridge_alphafloat, по умолчанию=0.01
Величина гребневой регрессии для улучшения обусловленности при вызове метода transform.
- max_iterint, по умолчанию=1_000
Максимальное количество итераций по полному набору данных перед остановкой независимо от любых эвристик критерия ранней остановки.
Добавлено в версии 1.2.
- callbackвызываемый объект, по умолчанию=None
Вызываемый объект, который запускается каждые пять итераций.
- batch_sizeint, по умолчанию=3
Количество признаков, используемых в каждой мини-партии.
- verboseint или bool, по умолчанию=False
Управляет уровнем детализации вывода; чем выше значение, тем больше сообщений. По умолчанию 0.
- перемешиваниеbool, по умолчанию=True
Перемешивать ли данные перед разделением на пакеты.
- n_jobsint, default=None
Количество параллельных задач для выполнения.
Noneозначает 1, если только не вjoblib.parallel_backendконтекст.-1означает использование всех процессоров. См. Глоссарий для получения дополнительной информации.- метод{‘lars’, ‘cd’}, default=’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_improvementtoNone.Добавлено в версии 1.1.
- Атрибуты:
- components_ndarray формы (n_components, n_features)
Разреженные компоненты, извлеченные из данных.
- 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.
Смотрите также
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 формы (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": Вывод PolarsNone: Конфигурация преобразования не изменена
Добавлено в версии 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)
Преобразованные данные.