一、实验要求
在计算机上验证和测试k-means聚类和高斯混合模型聚类实验,sklearn的相关聚类算法。
- 实验目的
1、掌握k-means聚类算法的原理
2、掌握高斯混合模型聚类算法的原理;
3、掌握sklearn如何实现聚类;
三、实验内容
实验步骤
- 请根据cluster文件代码,根据K均值聚类算法的原理,有两种初始化方法,一种是随机中心点,一种是随机分类,请修改代码实现另一种初始化也就是随机分类代码,然后观察聚类过程比较两种随机初始化方法效果。
随即中心点
1-4 5-8
随机分类
1-4 5-8
随即中心点的初始点选择是不确定的,可能会导致最后模型的结果不稳定。随即分类不需要确定分类数,更能突出模型的准确率。
- 请对比sklearn的K均值聚类和混合高斯模型,针对make_blobs生成的基本数据集, makemoons生成的太极数据集,makecircles生成的圆环数据集,多类数据集,对比聚类的效果如何。
基本数据集
KMeans
高斯混合
太极数据集
KMeans
高斯混合
圆环数据集
KMeans
高斯混合
多类数据集
KMeans
高斯混合
KMeans的计算量小,方便进行运算。
高斯混合模型的计算量大,可以看作是KMeans的推广,当每个混合模型没有足够的点时,估算协方差变得困难起来,同时算法会发散并且找具有无穷大似然函数值的解, 除非人为地对协方差进行正则化
四、实验总结
本次实验基本完成,难度适中,对k-means聚类算法的原理,高斯混合模型聚类算法的原理,sklearn如何实现聚类有了更深的了解,但相关代码的具体作用还需要理解消化。