當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python sklearn GaussianMixture用法及代碼示例


本文簡要介紹python語言中 sklearn.mixture.GaussianMixture 的用法。

用法:

class 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)

高斯混合。

高斯混合模型概率分布的表示。此類允許估計高斯混合分布的參數。

在用戶指南中閱讀更多信息。

參數

n_components整數,默認=1

混合物成分的數量。

covariance_type{‘full’, ‘tied’, ‘diag’, ‘spherical’},默認='滿'

說明要使用的協方差參數類型的字符串。必須是以下之一:

  • ‘full’:每個分量都有自己的通用協方差矩陣。
  • ‘tied’:所有組件共享相同的通用協方差矩陣。
  • ‘diag’:每個分量都有自己的對角協方差矩陣。
  • ‘spherical’:每個組件都有自己的單一方差。
tol浮點數,默認=1e-3

收斂閾值。當下限平均增益低於此閾值時,EM 迭代將停止。

reg_covar浮點數,默認=1e-6

添加到協方差對角線上的非負正則化。允許確保協方差矩陣都是正數。

max_iter整數,默認=100

要執行的 EM 迭代次數。

n_init整數,默認=1

要執行的初始化次數。保持最佳結果。

init_params{‘kmeans’, ‘random’},默認='kmeans'

用於初始化權重、均值和精度的方法。必須是以下之一:

'kmeans' : responsibilities are initialized using kmeans.
'random' : responsibilities are initialized randomly.
weights_init形狀類似數組 (n_components, ),默認=None

用戶提供的初始權重。如果為 None,則使用 init_params 方法初始化權重。

means_init形狀類似數組 (n_components, n_features),默認=None

用戶提供的初始均值,如果為無,則使用 init_params 方法初始化均值。

precisions_init類似數組,默認=無

用戶提供的初始精度(協方差矩陣的倒數)。如果為 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 實例或無,默認=無

控製為初始化參數而選擇的方法提供的隨機種子(請參閱init_params)。此外,它還控製從擬合分布中生成隨機樣本(請參閱方法 sample )。傳遞 int 以在多個函數調用之間實現可重現的輸出。請參閱術語表。

warm_start布爾,默認=假

如果‘warm_start’ 為True,則最後一次擬合的解將用作fit() 的下一次調用的初始化。當在類似問題上多次調用 fit 時,這可以加快收斂速度。在這種情況下,‘n_init’ 將被忽略,並且在第一次調用時隻發生一次初始化。請參閱詞匯表。

verbose整數,默認=0

啟用詳細輸出。如果為 1,則打印當前初始化和每個迭代步驟。如果大於 1,那麽它還會打印對數概率和每一步所需的時間。

verbose_interval整數,默認=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

當 fit() 達到收斂時為真,否則為假。

n_iter_int

EM 的最佳擬合達到收斂所使用的步數。

lower_bound_浮點數

EM 最佳擬合的對數似然(相對於模型的訓練數據)的下界值。

n_features_in_int

擬合期間看到的特征數。

feature_names_in_ndarray 形狀(n_features_in_,)

擬合期間看到的特征名稱。僅當 X 具有全為字符串的函數名稱時才定義。

例子

>>> 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])

相關用法


注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.mixture.GaussianMixture。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。