
包含手写K-means、支持向量量化和高斯聚类的MNIST、Yale、Lung数据集聚类代码包.rar
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
这是一个包含了针对MNIST、Yale及Lung数据集的手写K-means算法、支持向量量化以及高斯混合模型聚类方法的代码包,适用于机器学习研究和教学。
`official_classification.py` 使用了较多的sklearn库中的聚类函数。
`self_classification.py` 则使用了大量的自定义编写聚类函数(由于手写的高斯聚类在处理高维矩阵时计算n次方出现问题,因此未采用)。
通过比较这两个文件可以评估自写代码的效果如何。
`model.py` 包含了kmeans、lvq和mixture-of-gaussian三种聚类算法的实现以及用于计算精度和NMI的手动函数。此外还包含了处理标签映射的匈牙利算法。由于学习向量量化是基于ground truth得到一组原型向量,属于有监督的学习方法,因此在该文件中没有计算其精度与NMI值,仅打印了原型向量。
运行时会出现一些警告信息,但不影响程序执行;此外手写函数未经优化,运行速度较慢。
针对三个数据集分别使用kmeans、lvq和mixture-of-gaussian这三种方法进行聚类,并在获得预测标签后通过匈牙利算法处理标签映射。最终计算了精确度(acc)与标准互信息(nmi)。然而,这些方法的精度大约只有百分之五十几,在yale数据集上的效果尤其不理想。
运行方式:安装所需库后直接执行`official_classification.py`即可。
全部评论 (0)
还没有任何评论哟~


