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