机器学习中的聚类与神经网络技术解析
1. 贝叶斯高斯混合模型
在聚类分析中,手动寻找最优聚类数往往比较困难。贝叶斯高斯混合模型(Bayesian Gaussian Mixture Models)提供了一种解决方案。通过使用 BayesianGaussianMixture 类,我们可以避免手动搜索,该类能够自动将不必要的聚类的权重设为(或接近)零。
具体操作步骤如下:
首先,我们需要设置聚类的数量 n_components ,通常将其设置为一个我们有理由认为大于最优聚类数的值。例如:
from sklearn.mixture import BayesianGaussianMixture
import numpy as np
# 假设 X 是我们的数据集
bgm = BayesianGaussianMixture(n_components=10, n_init=10)
bgm.fit(X)
print(np.round(bgm.weights_, 2))
运行上述代码后,可能会得到类似如下的输出:
array([0.4 , 0.21, 0.4 , 0. , 0. , 0. , 0. , 0. , 0. , 0. ])
这表明算法自动检测到只需要三个聚类。
在这个模型中,聚类参数(包括权重、均值和协方差矩阵)不再被视为固定的模型参数,而是像聚类分配一样被视为潜在随机变量。
下面介绍几个相
超级会员免费看
订阅专栏 解锁全文
883

被折叠的 条评论
为什么被折叠?



