Spec-Zone.ru › scikit-learn

GaussianMixture

классsklearn.mixture.GaussianMixture(n_components=1, *, covariance_type='full', tol=0.001, reg_covar=1e-06, max_iter=100, n_init=1, init_params='kmeans', weights_init=None, means_init=None, precisions_init=None, random_state=None, warm_start=False, verbose=0, verbose_interval=10)[source]

Гауссовская смесь.

Представление вероятностного распределения гауссовой смеси. Этот класс позволяет оценить параметры распределения гауссовой смеси.

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

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

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

Количество компонентов смеси.

covariance_type{‘full’, ‘tied’, ‘diag’, ‘spherical’}, по умолчанию=’full’

Строка, описывающая тип используемых параметров ковариации. Должно быть одно из:

  • ‘full’: каждый компонент имеет свою общую матрицу ковариации.
  • ‘tied’: все компоненты используют одну и ту же общую матрицу ковариации.
  • ‘diag’: каждый компонент имеет свою диагональную матрицу ковариации.
  • ‘spherical’: каждый компонент имеет собственное стандартное отклонение.
tolfloat, по умолчанию=1e-3

Порог сходимости. Итерации EM прекратятся, когда средний прирост нижней границы окажется ниже этого порога.

reg_covarfloat, по умолчанию=1e-6

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

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

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

n_initint, по умолчанию=1

Количество инициализаций для выполнения. Сохраняются лучшие результаты.

init_params{‘kmeans’, ‘k-means++’, ‘random’, ‘random_from_data’}, по умолчанию=’kmeans’

Метод, используемый для инициализации весов, средних значений и точностей. Строка должна быть одной из:

  • ‘kmeans’ : ответственности инициализируются с помощью kmeans.
  • ‘k-means++’ : используется метод k-means++ для инициализации.
  • ‘random’ : ответственности инициализируются случайным образом.
  • ‘random_from_data’ : начальные средние значения выбираются случайным образом из точек данных.

Изменено в версии v1.1: init_params теперь принимает ‘random_from_data’ и ‘k-means++’ в качестве методов инициализации.

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

Инициализированные пользователем веса. Если None, веса инициализируются с помощью метода init_params.

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

Инициализированные пользователем средние значения. Если None, средние значения инициализируются с помощью метода init_params.

precisions_initмассив-подобный, по умолчанию=None

Инициализированные пользователем точности (обратные матрицы ковариаций). Если None, точности инициализируются с помощью метода ‘init_params’. Формат зависит от ‘covariance_type’:

(n_components,)                        if 'spherical',
(n_features, n_features)               if 'tied',
(n_components, n_features)             if 'diag',
(n_components, n_features, n_features) if 'full'
random_stateint, экземпляр RandomState или None, по умолчанию=None

Управляет случайным началом, заданным выбранному методу инициализации параметров (см. init_params). Кроме того, он управляет генерацией случайных выборок из подходящего распределения (см. метод sample). Передайте целое число для воспроизводимого результата при нескольких вызовах функции. См. Справочник.

warm_startbool, по умолчанию=False

Если ‘warm_start’ равно True, решение последней подгонки используется в качестве начального значения для следующего вызова fit(). Это может ускорить сходимость при многократном вызове fit для похожих задач. В этом случае ‘n_init’ игнорируется, и происходит только одна инициализация при первом вызове. См. справочник.

verboseint, по умолчанию=0

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

verbose_intervalint, по умолчанию=10

Количество выполненных итераций перед следующим выводом.

Атрибуты:
weights_массив-подобный (n_components,)

Веса каждого компонента смеси.

means_массив-подобный (n_components, n_features)

Среднее значение каждого компонента смеси.

covariances_массив-подобный

Ковариация каждого компонента смеси. Формат зависит от covariance_type:

(n_components,)                        if 'spherical',
(n_features, n_features)               if 'tied',
(n_components, n_features)             if 'diag',
(n_components, n_features, n_features) if 'full'
precisions_массив-подобный

Матрицы точности для каждого компонента смеси. Матрица точности — это обратная матрица ковариации. Матрица ковариации является симметричной положительно определенной, поэтому смесь гауссовых распределений может быть эквивалентно параметризована матрицами точности. Сохранение матриц точности вместо матриц ковариации делает более эффективным вычисление логарифма правдоподобия новых выборок во время тестирования. Формат зависит от covariance_type:

(n_components,)                        if 'spherical',
(n_features, n_features)               if 'tied',
(n_components, n_features)             if 'diag',
(n_components, n_features, n_features) if 'full'
precisions_cholesky_массив-подобный

Разложение Холецкого матриц точности каждого компонента смеси. Матрица точности — это обратная матрица ковариации. Матрица ковариации является симметричной положительно определенной, поэтому смесь гауссовых распределений может быть эквивалентно параметризована матрицами точности. Сохранение матриц точности вместо матриц ковариации делает более эффективным вычисление логарифма правдоподобия новых выборок во время тестирования. Формат зависит от covariance_type:

(n_components,)                        if 'spherical',
(n_features, n_features)               if 'tied',
(n_components, n_features)             if 'diag',
(n_components, n_features, n_features) if 'full'
converged_bool

True, если достигнута сходимость лучшей подгонки EM, False — в противном случае.

n_iter_int

Количество шагов, использованных лучшей подгонкой EM для достижения сходимости.

lower_bound_float

Значение нижней границы логарифма правдоподобия (данных обучения относительно модели) лучшей подгонки EM.

n_features_in_int

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

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

feature_names_in_массив-подобный (n_features_in_,)

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

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

См. также

BayesianGaussianMixture

Гауссова модель смеси, подгоняемая с помощью вариационного вывода.

Примеры

>>> import numpy as np
>>> from sklearn.mixture import GaussianMixture
>>> X = np.array([[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]])
>>> gm = GaussianMixture(n_components=2, random_state=0).fit(X)
>>> gm.means_
array([[10.,  2.],
       [ 1.,  2.]])
>>> gm.predict([[0, 0], [12, 3]])
array([1, 0])
aic(X)[source]

Критерий информативности Акаике для текущей модели на входе X.

Дополнительные сведения о формулировке используемого критерия AIC см. в этом разделе математических формул.

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

Входящие образцы.

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

Чем меньше, тем лучше.

bic(X)[source]

Критерий Байеса — Шварца для текущей модели на входе X.

Дополнительные сведения о формулировке используемого критерия BIC см. в этом разделе математических формул.

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

Входящие образцы.

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

Чем меньше, тем лучше.

END_OF_DOCUMENT_MARKER
fit(X, y=None)[source]

Оценить параметры модели с помощью алгоритма EM.

Метод подгоняет модель n_init раз и устанавливает параметры, при которых у модели максимальное правдоподобие или нижняя граница. В каждом цикле метод итерирует между шагом E и шагом M max_iter раз, пока изменение правдоподобия или нижней границы не станет меньше tol, в противном случае генерируется ConvergenceWarning. Если warm_start равно True, то n_init игнорируется, и выполняется одно начальное значение при первом вызове. При последующих вызовах обучение продолжается с того места, где оно остановилось.

Parameters:
Xarray-like of shape (n_samples, n_features)

Список точек данных размерности n_features. Каждая строка соответствует одной точке данных.

yIgnored

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

Returns:
selfobject

Обученная смесь.

fit_predict(X, y=None)[source]

Оценить параметры модели с помощью X и предсказать метки для X.

Метод подгоняет модель n_init раз и устанавливает параметры, при которых у модели максимальное правдоподобие или нижняя граница. В каждом цикле метод итерирует между шагом E и шагом M max_iter раз, пока изменение правдоподобия или нижней границы не станет меньше tol, в противном случае генерируется ConvergenceWarning. После обучения он предсказывает наиболее вероятную метку для входных точек данных.

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

Parameters:
Xarray-like of shape (n_samples, n_features)

Список точек данных размерности n_features. Каждая строка соответствует одной точке данных.

yIgnored

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

Returns:
labelsarray, shape (n_samples,)

Метки компонент.

get_metadata_routing()[source]

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

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

Returns:
routingMetadataRequest

MetadataRequest encapsulating routing information.

get_params(deep=True)[source]

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

Parameters:
deepbool, default=True

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

Returns:
paramsdict

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

predict(X)[source]

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

Parameters:
Xarray-like of shape (n_samples, n_features)

Список точек данных размерности n_features. Каждая строка соответствует одной точке данных.

Returns:
labelsarray, shape (n_samples,)

Метки компонент.

predict_proba(X)[source]

Оценить плотность компонентов для каждого образца.

Parameters:
Xarray-like of shape (n_samples, n_features)

Список точек данных размерности n_features. Каждая строка соответствует одной точке данных.

Returns:
resparray, shape (n_samples, n_components)

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

sample(n_samples=1)[source]

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

Parameters:
n_samplesint, default=1

Количество образцов для генерации.

Returns:
Xarray, shape (n_samples, n_features)

Случайный сгенерированный образец.

yarray, shape (nsamples,)

Метки компонент.

score(X, y=None)[source]

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

Parameters:
Xarray-like of shape (n_samples, n_dimensions)

Список точек данных размерности n_features. Каждая строка соответствует одной точке данных.

yIgnored

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

Returns:
log_likelihoodfloat

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

score_samples(X)[source]

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

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

Список точек данных размерности n_features. Каждая строка соответствует одной точке данных.

Возвращает:
log_probмассив, форма (n_samples,)

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

set_params(**params)[source]

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

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

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

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

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

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

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

Сравнение различных алгоритмов кластеризации на наборах данных

Демонстрация предположений k-средних

Оценивание плотности для гауссова смешения

Методы инициализации GMM

Ковариации GMM

Эллипсоиды гауссова смешения

Выбор модели для Гауссова смешения

Гауссово смешение и синусоида

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

Spec-Zone.ru

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