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)[исходный код]

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

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

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

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

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

algorithm{‘parallel’, ‘deflation’}, по умолчанию=’parallel’

Алгоритм FastICA.

whitenstr или bool, по умолчанию=’unit-variance’

Стратегия отбеливания.

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

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

fun{‘logcosh’, ‘exp’, ‘cube’} или callable, по умолчанию=’logcosh’

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

def my_g(x):
    return x ** 3, (3 * x ** 2).mean(axis=-1)
fun_argsdict, по умолчанию=None

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

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

Максимальное количество итераций при обучении.

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

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

w_initarray-like формы (n_components, n_components), по умолчанию=None

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

whiten_solver{“eigh”, “svd”}, по умолчанию=”svd”

Решатель, используемый для отбеливания.

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

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

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

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

Атрибуты:
components_ndarray формы (n_components, n_features)

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

mixing_ndarray формы (n_features, n_components)

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

mean_ndarray формы (n_features,)

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

n_features_in_int

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

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

feature_names_in_ndarray формы (n_features_in_,)

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

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

n_iter_int

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

whitening_ndarray формы (n_components, n_features)

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

См. также

PCA

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

IncrementalPCA

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

KernelPCA

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

MiniBatchSparsePCA

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

SparsePCA

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

Литература

[1]

A. Hyvarinen и E. Oja, «Анализ независимых компонент: алгоритмы и приложения», Neural Networks, 13(4-5), 2000, с. 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)[исходный код]

Обучить модель на X.

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

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

yИгнорируется

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

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

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

fit_transform(X, y=None)[исходный код]

Обучить модель и восстановить источники из X.

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

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

yИгнорируется

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

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

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

get_feature_names_out(input_features=None)[исходный код]

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

Названия выходных признаков будут начинаться с имени класса в нижнем регистре. Например, если преобразователь выдаёт 3 признака, названия выходных признаков будут следующими: ["class_name0", "class_name1", "class_name2"].

Параметры:
input_featuresarray-like строк или None, по умолчанию=None

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

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

Названия преобразованных признаков.

get_metadata_routing()[исходный код]

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

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

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

MetadataRequest, содержащий информацию о маршрутизации.

get_params(deep=True)[исходный код]

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

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

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

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

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

inverse_transform(X, copy=True)[исходный код]

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

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

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

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

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

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

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

set_inverse_transform_request(*, copy:bool|None|str='$UNCHANGED$') → FastICA[исходный код]

Настроить, следует ли запрашивать передачу метаданных методу inverse_transform.

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

Для каждого параметра доступны следующие варианты:

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

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

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

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

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

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

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

set_output(*, transform=None)[исходный код]

Задать контейнер выходных данных.

Подробнее см. в руководстве пользователя, а пример использования API см. в разделе «Знакомство с API set_output».

Параметры:
transform{“default”, “pandas”, “polars”}, по умолчанию=None

Настроить формат выходных данных для transform и fit_transform.

  • "default": формат выходных данных преобразователя по умолчанию
  • "pandas": вывод в формате DataFrame
  • "polars": вывод в формате Polars
  • None: конфигурация преобразования остаётся без изменений

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

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

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

set_params(**params)[исходный код]

Задать параметры этого оценивателя.

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

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

Параметры оценивателя.

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

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

set_transform_request(*, copy:bool|None|str='$UNCHANGED$') → FastICA[исходный код]

Настроить, следует ли запрашивать передачу метаданных методу transform.

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

Для каждого параметра доступны следующие варианты:

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

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

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

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

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

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

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

transform(X, copy=True)[исходный код]

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

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

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

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

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

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

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

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

Декомпозиции набора данных лиц

Слепое разделение источников с помощью FastICA

FastICA для двумерных облаков точек

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

Spec-Zone.ru

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