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)

[源码]

高斯混合。

高斯混合模型概率分布的表示。此类允许估计高斯混合分布的参数。

用户指南中阅读更多内容。

版本0.18中的新功能。

参数 说明
n_components int, defaults to 1.
混合元素的数量。
covariance_type {‘full’ (default), ‘tied’, ‘diag’, ‘spherical’}
描述要使用的协方差参数类型的字符串。必须是以下之一:
‘full’
每个分量都有自己的协方差矩阵
‘tied’
所有分量共享相同的通用协方差矩阵
‘diag’
每个分量都有自己的对角协方差矩阵
‘spherical’
每个组件都有其自己的单个方差
tol float, defaults to 1e-3.
收敛阈值。当下限平均增益低于此阈值时,EM迭代将停止。
reg_covar float, defaults to 1e-6.
非负正则化添加到协方差的对角线上。允许确保协方差矩阵均为正。
max_iter int, defaults to 100.
要执行的EM迭代次数。
n_init int, defaults to 1.
要执行的初始化次数。保持最佳结果。
init_params {‘kmeans’, ‘random’}, defaults to ‘kmeans’.
用于初始化权重,均值和精度的方法。必须是以下之一:
'kmeans' : responsibilities are initialized using kmeans.
'random' : responsibilities are initialized randomly.
weights_init array-like, shape (n_components, ), optional
用户提供的初始权重,默认为None。如果为None,则使用init_params方法初始化权重。
means_init array-like, shape (n_components, n_features), optional
用户提供的初始均值,默认为None,如果为None,则使用init_params方法初始化均值。
precisions_init array-like, optional.
用户提供的初始精度(协方差矩阵的倒数),默认为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_state int, RandomState instance or None, optional (default=None)
控制分配给用于初始化参数的方法的随机种子(请参阅参考资料init_params)。另外,它控制拟合分布中随机样本的生成(请参见方法sample)。为多个函数调用传递可重复输出的int值。请参阅词汇表
warm_start bool, default to False.
如果'warm_start'为True,则最后一次拟合的解决方案将用作下一次fit()的初始化。在类似问题上多次调用拟合时,可以加快收敛速度。在这种情况下,“ n_init”将被忽略,并且在第一次调用时仅发生一次初始化。请参阅词汇表
verbose int, default to 0.
启用详细输出。如果为1,则打印当前的初始化和每个迭代步骤。如果大于1,则还将打印对数概率和每个步骤所需的时间。
verbose_interval int, default to 10.
下一次打印之前完成的迭代次数。
参数 说明
weights_ array-like, shape (n_components,)
每种混合元素的权重。
means_ array-like, shape (n_components, n_features)
每种混合元素的平均值。
covariances_ array-like
每个混合元素的协方差。形状取决于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_ array-like
混合元素中每种成分的精密度矩阵。精度矩阵是协方差矩阵的逆矩阵。协方差矩阵是对称正定的,因此可以通过精度矩阵等效地对高斯的混合进行参数化。存储精度矩阵而不是协方差矩阵使在测试时计算新样本的对数似然更有效率。形状取决于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_ array-like
每个混合元素的精确矩阵的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()中达到收敛时为true,否则为False。
n_iter_ int
最适合EM达到收敛的步数。
lower_bound_ float
EM最佳拟合的对数似然(训练数据相对于模型)的下界值。

另见

BayesianGaussianMixture

高斯混合模型具有变分推断。

方法 说明
aic(X) 在当前模型上输入X的Akaike信息准则
bic(X) 在当前模型上输入X的贝叶斯信息准则。
fit(X[, y]) 用EM算法估计模型参数。
fit_predict(X[, y]) 用X估计模型参数,并预测X的标签。
get_params([deep]) 获取这个算法的参数
predict(X) 使用训练模型预测X中数据样本的标签。
predict_proba(X) 在给定数据的情况下,预测每个分量的后验概率。
sample([n_samples]) 从拟合的高斯分布生成随机样本。
score(X[, y]) 计算给定数据X的每个样本平均log似然函数
score_samples(X) 计算每个样本的加权log概率。
set_params(**params) 为算法设置参数
__init__(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)

[源码]

初始化self, 请参阅help(type(self))以获得准确的说明。

aic(X)

[源码]

在当前模型上输入X的Akaike信息准则

参数 说明
X array of shape (n_samples, n_dimensions)
返回值 说明
aic float
越低越好。
bic(X)

[源码]

在当前模型上输入X的贝叶斯信息准则。

参数 说明
X array of shape (n_samples, n_dimensions)
返回值 说明
bic float
越低越好。
fit(X, y=None)

[源码]

该方法拟合模型n_init时间,并设置模型具有最大似然性或下界的参数。在每次试验中,该方法都会在E步和M步之间迭代一段max_iter 时间,直到似然性或下界的变化小于 tol为止,否则ConvergenceWarning提高a。如果warm_startTrue,则将n_init其忽略,并在第一次调用时执行一次初始化。连续运行时,训练从停下来的地方开始。

参数 说明
X array-like, shape (n_samples, n_features)
n_features维数据点列表。每行对应一个数据点。
返回值 说明
self
fit_predict(X, y=None)

[源码]

使用X估算模型参数并预测X的标签。

该方法拟合模型n_init次,并设置模型具有最大似然性或下界的参数。在每次试验中,该方法都会在E步和M步之间迭代一段max_iter 时间,直到似然性或下界的变化小于 tol为止,否则ConvergenceWarning提高a。拟合后,它将为输入数据点预测最可能的标签。

0.20版中的新功能。

参数 说明
X array-like, shape (n_samples, n_features)
n_features维数据点列表。每行对应一个数据点。
返回值 说明
labels array, shape (n_samples,)
组件标签。
get_params(deep=True)

[源码]

获取此估计量的参数。

参数 说明
deep bool, default=True
如果为True,则将返回此估算量和作为估算量的所包含子对象的参数。
返回值 说明
params mapping of string to any
参数名称映射到其值。
predict(X)

[源码]

使用训练好的模型预测X中数据样本的标签。

参数 说明
X array-like, shape (n_samples, n_features)
n_features维数据点列表。每行对应一个数据点。
返回值 说明
labels array, shape (n_samples,)
组件标签。
predict_proba(X)

[源码]

给定数据,预测每个分量的后验概率。

参数 说明
X array-like, shape (n_samples, n_features)
n_features维数据点列表。每行对应一个数据点。
返回值 说明
resp array, shape (n_samples, n_components)
返回给定每个样本的模型中每个高斯(状态)的概率。
sample(n_samples=1)

[源码]

从拟合的高斯分布中生成随机样本。

参数 说明
n_samples int, optional
要生成的样本数。默认为1。
返回值 说明
X array, shape (n_samples, n_features)
随机生成的样本
y array, shape (nsamples,)
组件标签
score(X, y=None)

[源码]

计算给定数据X的每样本平均对数似然度。

参数 说明
X array-like, shape (n_samples, n_dimensions)
n_features维数据点列表。每行对应一个数据点。
返回值 说明
log_likelihood float
给定X的高斯混合的对数似然。
score_samples(X)

[源码]

计算每个样本的加权对数概率。

参数 说明
X array-like, shape (n_samples, n_features)
n_features维数据点列表。每行对应一个数据点。
返回值 说明
log_prob array, shape (n_samples,)
在X中记录每个数据点的概率。
set_params(**params)

[源码]

设置此估算器的参数。

该方法适用于简单的估计器以及嵌套对象(例如 pipelines)。后者具有形式的参数, <component>__<parameter>以便可以更新嵌套对象的每个组件。

参数 说明
**params dict
估算量参数。
返回值 说明
self object
估算量实例。