Spec-Zone.ru › scikit-learn

FastICA

classsklearn.decomposition.FastICA(n_components=None, *, algorithm='parallel', whiten='unit-variance', fun='logcosh', fun_args=None, max_iter=200, tol=0.0001, w_init=None, whiten_solver='svd', random_state=None)[source]

FastICA: быстрый алгоритм для анализа независимых компонент.

Реализация основана на [1].

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

Параметры:
n_componentsint, default=None

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

algorithm{‘parallel’, ‘deflation’}, default=’parallel’

Указывает, какой алгоритм использовать для FastICA.

whitenstr or bool, default=’unit-variance’

Указывает стратегию выбеливания, которую следует использовать.

  • Если ‘arbitrary-variance’, используется выбеливание с произвольной дисперсией.
  • Если ‘unit-variance’, матрица выбеливания масштабируется так, чтобы каждый восстановленный источник имел единичную дисперсию.
  • Если False, данные уже считаются выбеленными, и выбеливание не выполняется.

Изменено в версии 1.3: Значение по умолчанию whiten изменено на ‘unit-variance’ в версии 1.3.

fun{‘logcosh’, ‘exp’, ‘cube’} or callable, default=’logcosh’

Функциональная форма функции G, используемая в приближении к негаэнтропии. Может быть либо ‘logcosh’, ‘exp’, либо ‘cube’. Вы также можете указать свою собственную функцию. Она должна возвращать кортеж, содержащий значение функции и ее производной в данной точке. Производная должна быть усреднена по последнему измерению. Пример:

def my_g(x):
    return x ** 3, (3 * x ** 2).mean(axis=-1)
fun_argsdict, default=None

Аргументы для отправки в функциональную форму. Если пусто или None и если fun=’logcosh’, fun_args примет значение {‘alpha’ : 1.0}.

max_iterint, default=200

Максимальное количество итераций во время подгонки.

tolfloat, default=1e-4

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

w_initarray-like of shape (n_components, n_components), default=None

Начальный массив обратного смешивания. Если w_init=None, то используется массив значений, взятых из нормального распределения.

whiten_solver{“eigh”, “svd”}, default=”svd”

Решатель для выбеливания.

  • “svd” более стабилен численно, если проблема вырождена, и часто быстрее, когда n_samples <= n_features.
  • “eigh” обычно более эффективен с точки зрения памяти, когда n_samples >= n_features, и может быть быстрее, когда n_samples >= 50 * n_features.

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

random_stateint, RandomState instance or None, default=None

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

Атрибуты:
components_ndarray of shape (n_components, n_features)

Линейный оператор, применяемый к данным для получения независимых источников. Это равно матрице обратного смешивания, когда whiten равно False, и равно np.dot(unmixing_matrix, self.whitening_) когда whiten равно True.

mixing_ndarray of shape (n_features, n_components)

Псевдообратная к components_. Это линейный оператор, который отображает независимые источники в данные.

mean_ndarray of shape(n_features,)

Среднее значение по признакам. Устанавливается только если self.whiten равно True.

n_features_in_int

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

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

feature_names_in_ndarray of shape (n_features_in_,)

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

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

n_iter_int

Если алгоритм равен “deflation”, n_iter — это максимальное количество итераций, выполненных для всех компонент. В противном случае это просто количество итераций, необходимых для сходимости.

whitening_ndarray of shape (n_components, n_features)

Устанавливается только если whiten равно ‘True’. Это матрица предварительного выбеливания, которая проецирует данные на первые n_components главных компонент.

См. также

PCA

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

IncrementalPCA

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

KernelPCA

Анализ главных компонент с ядром (KPCA).

MiniBatchSparsePCA

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

SparsePCA

Анализ разреженных главных компонент (SparsePCA).

Ссылки

[1]

A. Hyvarinen and E. Oja, Independent Component Analysis: Algorithms and Applications, Neural Networks, 13(4-5), 2000, pp. 411-430.

Примеры

>>> from sklearn.datasets import load_digits
>>> from sklearn.decomposition import FastICA
>>> X, _ = load_digits(return_X_y=True)
>>> transformer = FastICA(n_components=7,
...         random_state=0,
...         whiten='unit-variance')
>>> X_transformed = transformer.fit_transform(X)
>>> X_transformed.shape
(1797, 7)
fit(X, y=None)[source]

Подгонка модели к X.

Параметры:
Xarray-like of shape (n_samples, n_features)

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

yIgnored

Не используется, присутствует для согласованности API по соглашению.

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

Возвращает сам экземпляр.

fit_transform(X, y=None)[source]

Подгонка модели и восстановление источников из X.

Параметры:
Xarray-like of shape (n_samples, n_features)

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

yIgnored

Не используется, присутствует для согласованности API по соглашению.

Возвращает:
X_newndarray of shape (n_samples, n_components)

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

get_feature_names_out(input_features=None)[source]

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

Выходные имена признаков будут иметь префикс в виде имени класса в нижнем регистре. Например, если преобразователь выдает 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()[source]

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

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

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

A MetadataRequest инкапсулирующая информацию о маршрутизации.

get_params(deep=True)[source]

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

Параметры:
deepbool, default=True

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

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

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

inverse_transform(X, copy=True)[source]

Преобразовать источники обратно в смешанные данные (применить матрицу смешивания).

Параметры:
Xarray-like of shape (n_samples, n_components)

Источники, где n_samples - это количество образцов, а n_components - это количество компонентов.

copybool, default=True

Если False, данные, переданные в fit, перезаписываются. По умолчанию True.

Возвращает:
X_newndarray of shape (n_samples, n_features)

Восстановленные данные, полученные с помощью матрицы смешивания.

set_inverse_transform_request(*, copy:bool|None|str='$UNCHANGED$') → FastICA[source]

Запрос метаданных, переданных методу inverse_transform.

Обратите внимание, что этот метод актуален только в том случае, если enable_metadata_routing=True (см. sklearn.set_config). Пожалуйста, см. Руководство пользователя о том, как работает механизм маршрутизации.

Варианты для каждого параметра:

  • True: запрашиваются метаданные и передаются в inverse_transform, если предоставлены. Запрос игнорируется, если метаданные не предоставлены.
  • False: метаданные не запрашиваются, и мета-оценщик не будет передавать их в inverse_transform.
  • None: метаданные не запрашиваются, и мета-оценщик выдаст ошибку, если пользователь предоставит их.
  • str: метаданные должны быть переданы мета-оценщику с этим заданным псевдонимом вместо исходного имени.

Значение по умолчанию (sklearn.utils.metadata_routing.UNCHANGED) сохраняет существующий запрос. Это позволяет изменить запрос для некоторых параметров, а не для других.

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

Примечание

Этот метод актуален только в том случае, если этот оценщик используется в качестве под-оценщика мета-оценщика, например, используется внутри Pipeline. В противном случае он не оказывает никакого влияния.

Параметры:
copystr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED

Маршрутизация метаданных для параметра copy в inverse_transform.

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

Обновленный объект.

set_output(*, transform=None)[source]

Установить контейнер вывода.

См. Представление API set_output для примера использования API.

Параметры:
transform{“default”, “pandas”, “polars”}, default=None

Настроить вывод transform и fit_transform.

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

Добавлено в версии 1.4: "polars" option was added.

Возвращает:
selfestimator instance

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

set_params(**params)[source]

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

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

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

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

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

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

set_transform_request(*, copy:bool|None|str='$UNCHANGED$') → FastICA[source]

Запрос метаданных, переданных методу transform.

Обратите внимание, что этот метод актуален только в том случае, если enable_metadata_routing=True (см. sklearn.set_config). Пожалуйста, см. Руководство пользователя о том, как работает механизм маршрутизации.

Варианты для каждого параметра:

  • True: запрашиваются метаданные и передаются transform если предоставлены. Запрос игнорируется, если метаданные не предоставлены.
  • False: метаданные не запрашиваются, и мета-оценщик не будет передавать их transform.
  • None: метаданные не запрашиваются, и мета-оценщик выдаст ошибку, если пользователь предоставит их.
  • str: метаданные должны быть переданы мета-оценщику с этим псевдонимом вместо исходного имени.

Значение по умолчанию (sklearn.utils.metadata_routing.UNCHANGED) сохраняет существующий запрос. Это позволяет изменять запрос для некоторых параметров, а не для других.

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

Примечание

Этот метод актуален только в том случае, если этот оценщик используется как под-оценщик мета-оценщика, например, используется внутри Pipeline. В противном случае он не оказывает никакого влияния.

Параметры:
copystr, True, False, или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED

Маршрутизация метаданных для параметра copy в transform.

Возвращает:
selfобъект

Обновленный объект.

transform(X, copy=True)[source]

Восстановить источники из X (применить матрицу перемешивания).

Параметры:
Xмассивоподобный с формой (n_samples, n_features)

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

copybool, default=True

Если False, данные, переданные в fit, могут быть перезаписаны. По умолчанию True.

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

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

Примеры из галереи

Разделение слепых источников с помощью FastICA

Разложения набора данных лиц

FastICA на 2D облаках точек

© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.decomposition.FastICA.html

Spec-Zone.ru

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