当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。