最近正好复习到K-Means聚类算法,尝试用代码练习巩固一下知识。
一、实验思路
1.熟悉MINIST数据集
2.使用K-Means算法对数据集进行聚类
3.模型准确率评价
(一)熟悉数据集
MNIST 数据集来自美国国家标准与技术研究所, National Institute of Standards and Technology (NIST). 训练集 (training set) 由来自 250 个不同人手写的数字构成, 其中 50% 是高中学生, 50% 来自人口普查局 (the Census Bureau) 的工作人员. 测试集(test set) 也是同样比例的手写数字数据.----信息来源于网上搜集。
MINSIT数据集包含1797个0-9的手写数字,每一个样本都是8*8大小的矩阵,图形显示手写体,如下图显示前15张的图片。
二、 K-Means算法
Kmeans算法逻辑:
1.选择k个聚类的初始中心(不一定是需要样本点)。
2.在第n次迭代中,对于任意一个样本点,求其到K个聚类中心的距离,然后排序,将该样本点归类到距离最小的中心所在的聚类。
3.调整新类并利用均值等方法更新各类的中心点。
4.重复2和3,看中心是否收敛,如果达到迭代次数或者结果为收敛的话则算法停止。
- 对于MINIST图像数据,先将样本降维映射到二维平面,以便于对结果的可视化。
- KMeans 聚类算法训练模型并可视化(颜色选的有点丑~~~~,问题不大
- 然后计算一下模型accuracy,额,有点低哈哈
果然传统聚类算法不能够很好的表现模型,取得很好的效果,以后有机会再学习的时候再次挑战深度学习一下吧!今天的练习就到这里!!!明天继续加油~~~~~~~~~