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.
- “svd” более стабилен численно, если проблема вырождена, и часто быстрее, когда
- 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)
-
Оцененные источники, полученные путем преобразования данных с помощью оцененной матрицы перемешивания.
Примеры из галереи
© 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