Spec-Zone.ru › scikit-learn

Анализ_факторов

классsklearn.decomposition.FactorAnalysis(n_components=None, *, tol=0.01, copy=True, max_iter=1000, noise_variance_init=None, svd_method='randomized', iterated_power=3, rotation=None, random_state=0)[source]

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

Простая линейная порождающая модель с гауссовскими латентными переменными.

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

Если мы ограничим модель дальше, предположив, что гауссовский шум даже изотропен (все диагональные элементы одинаковы), мы получим PCA.

FactorAnalysis выполняет оценку максимального правдоподобия так называемой loading матрицы, преобразования латентных переменных в наблюдаемые, используя подход на основе SVD.

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

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

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

Размерность латентного пространства, количество компонент X, которые получаются после transform. Если None, n_components устанавливается в количество признаков.

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

Пороговое значение для увеличения логарифмической правдоподобия.

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

Нужно ли копировать X. Если False, входной X перезаписывается во время подгонки.

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

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

noise_variance_initмассив-подобный типа (n_features,), по умолчанию=None

Начальная оценка дисперсии шума для каждого признака. Если None, по умолчанию используется np.ones(n_features).

svd_method{‘lapack’, ‘randomized’}, по умолчанию=’randomized’

Какой метод SVD использовать. Если ‘lapack’, использовать стандартный SVD из scipy.linalg, если ‘randomized’, использовать быструю функцию randomized_svd. По умолчанию ‘randomized’. Для большинства приложений ‘randomized’ будет достаточно точным, при этом обеспечивая значительный прирост скорости. Точность также может быть улучшена путем установки более высоких значений для iterated_power. Если этого недостаточно, для максимальной точности следует выбрать ‘lapack’.

iterated_powerint, по умолчанию=3

Количество итераций для метода мощности. По умолчанию 3. Используется только если svd_method равно ‘randomized’.

rotation{‘varimax’, ‘quartimax’}, по умолчанию=None

Если не None, применять указанное вращение. В настоящее время реализованы varimax и quartimax. См. “The varimax criterion for analytic rotation in factor analysis” H. F. Kaiser, 1958.

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

random_stateint или RandomState instance, по умолчанию=0

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

Атрибуты:
components_массив типа (n_components, n_features)

Компоненты с максимальной дисперсией.

loglike_список типа (n_iterations,)

Логарифмическая правдоподобие на каждой итерации.

noise_variance_массив типа (n_features,)

Оцененная дисперсия шума для каждого признака.

n_iter_int

Количество выполненных итераций.

mean_массив типа (n_features,)

Эмпирическое среднее значение на признак, оцененное из обучающего набора.

n_features_in_int

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

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

feature_names_in_массив типа (n_features_in_,)

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

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

См. также

PCA

Анализ главных компонент — также модель латентных линейных переменных, которая, однако, предполагает одинаковую дисперсию шума для каждого признака. Это дополнительное предположение делает вероятностный PCA быстрее, так как он может быть вычислен в замкнутой форме.

FastICA

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

Ссылки

  • David Barber, Bayesian Reasoning and Machine Learning, Алгоритм 21.1.
  • Christopher M. Bishop: Pattern Recognition and Machine Learning, Глава 12.2.4.

Примеры

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

Подгонка модели FactorAnalysis к X с использованием подхода на основе SVD.

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

Обучающие данные.

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

Игнорируемый параметр.

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

Экземпляр класса FactorAnalysis.

fit_transform(X, y=None, **fit_params)[source]

Подгонка к данным, затем их преобразование.

Подгоняет трансформер к X и y с необязательными параметрами fit_params и возвращает преобразованную версию X.

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

Входные выборки.

yмассив-подобный типа (n_samples,) или (n_samples, n_outputs), по умолчанию=None

Значения целевой переменной (None для неконтролируемых преобразований).

**fit_paramsdict

Дополнительные параметры подгонки.

Возвращает:
X_newмассив типа (n_samples, n_features_new)

Преобразованный массив.

get_covariance()[source]

Вычисление ковариации данных с помощью модели FactorAnalysis.

cov = components_.T * components_ + diag(noise_variance)

Возвращает:
covмассив типа (n_features, n_features)

Оцененная ковариация данных.

get_feature_names_out(input_features=None)[source]

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

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

Параметры:
input_featuresмассив-подобный объект str или None, по умолчанию=None

Используется только для проверки имен признаков с именами, встречающимися в fit.

Возвращаемое значение:
feature_names_outмассив объектов str

Имена преобразованных признаков.

get_metadata_routing()[source]

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

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

Возвращаемое значение:
routingMetadataRequest

А MetadataRequest encapsulating routing information.

get_params(deep=True)[source]

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

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

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

Возвращаемое значение:
paramsdict

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

get_precision()[source]

Вычислить матрицу точности данных с помощью модели FactorAnalysis.

Возвращаемое значение:
precisionмассив формы (n_features, n_features)

Оценённая точность данных.

score(X, y=None)[source]

Вычислить среднюю логарифмическую вероятность выборок.

Параметры:
Xмассив формы (n_samples, n_features)

Данные.

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

Игнорируемый параметр.

Возвращаемое значение:
llfloat

Средняя логарифмическая вероятность выборок по текущей модели.

score_samples(X)[source]

Вычислить логарифмическую вероятность каждой выборки.

Параметры:
Xмассив формы (n_samples, n_features)

Данные.

Возвращаемое значение:
llмассив формы (n_samples,)

Логарифмическая вероятность каждой выборки по текущей модели.

set_output(*, transform=None)[source]

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

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

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

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

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

Добавлен в версии 1.4: "polars" опция была добавлена.

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

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

set_params(**params)[source]

Установить параметры данного оценщика.

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

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

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

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

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

transform(X)[source]

Применить уменьшение размерности к X с использованием модели.

Вычислить ожидаемое среднее скрытых переменных. См. Barber, 21.2.33 (или Bishop, 12.66).

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

Данные обучения.

Возвращаемое значение:
X_newмассив формы (n_samples, n_components)

Скрытые переменные X.

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

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

Факторный анализ (с вращением) для визуализации закономерностей

Выбор модели с помощью вероятностного PCA и факторного анализа (FA)

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

Spec-Zone.ru

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