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
-
Чем меньше, тем лучше.
- fit(X, y=None)[source]
-
Оценить параметры модели с помощью алгоритма EM.
Метод подгоняет модель
n_initраз и устанавливает параметры, при которых у модели максимальное правдоподобие или нижняя граница. В каждом цикле метод итерирует между шагом E и шагом Mmax_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
-
MetadataRequestencapsulating 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экземпляр оценивателя
-
Экземпляр оценивателя.
Примеры галереи
© 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