本示例绘制了椭球体,该椭球体是在toy数据集(三个高斯的混合)上,由具有狄利克雷(Dirichlet)分布(weight_concentration_prior_type='dirichlet_distribution'
)的BayesianGaussianMixture
和狄利克雷(Dirichlet)过程(weight_concentration_prior_type='dirichlet_process'
)的模型拟合出来的。在每个图上,我们绘制了三个不同的浓度先验值的拟合结果。
BayesianGaussianMixture
类可以自动调节混合分量(components)的数量。weight_concentration_prior
参数直接决定具有非零权重的分量数量。指定浓度先验较低的值将使模型将大部分权重分配给一小部分的分量,而其余分量的权重将非常接近于零。指定浓度先验较高的值将允许混合中有更多的分量具有活性。
狄利克雷(Dirichlet)过程允许先定义无限数量的分量,然后自动选择正确数量的分量:仅在必要时才会激活分量。
相反,具有狄利克雷(Dirichlet)分布先验的经典有限混合模型,将偏向于把权重均匀地分配给每个分量,因此倾向于将自然聚类划分为不必要的子分量。
# 作者: Thierry Guillemot
# 许可证: BSD 3 clause
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
from sklearn.mixture import BayesianGaussianMixture
print(__doc__)
def plot_ellipses(ax, weigh