基于K均值聚类的葡萄酒品种判别

一. K均值聚类原理简介

1.1 K均值聚类的主要步骤如下[1]:

1)选择n个数值型变量参与聚类分析,并选择聚类数为k
2)由系统选择k个样品作为聚类的种子
3)按照到这些类重心的距离最小的原则把所有的样品分类到各类重心所在的类中,完成初始分类
4)重新计算各类的重心(即现分的各子类中所包含的样品的均值)
5)重复第三和第四步,直到达到迭代要求为止

1.2 迭代要求可以是:

1) 没有(或者小于某个数值的)对象被重新分配给不同的类
2) 没有(或者小于某个数值的)类中心发生变化
3) 误差平方和(SSE)达到局部最小
4) 达到指定的迭代次数
此外,K均值算法必须在平均值有意义的情况下才能使用,因此不适用于分类变量。需要给定聚类数目,并且对异常数据和数据噪声比较敏感。

二. 数据简介及预处理

2.1 数据简介

2.3 数据预处理

由于异常值和特殊的变量对聚类有较大影响,因此当分类变量的测量尺度不一致时,需要事先做标准化处理。这里使用scale()函数对数据集进行标准化处理。现以变量Alcolhol 和 变量Malic_acid 为例来可视化标准化的结果,如图2.4所示。可以看出,标准化后的横纵坐标不一样,但两变量的关系没有改变。

3.2 利用K均值聚类将数据分成三类

使用Kmeans()可达到聚类的目的,这里选取数据集的前六列可视化聚类后各变量的关系,如图3.2所示。可以看到,数据比较好的被分为了三类。不同种类的分布也各有特点,具体将在3.3小节部分讨论。

3.3 聚类结果的特点

由图3.2 可知,不同种类葡萄酒的Alcohol 均值不一样,按颜色分类的话,均值大小依次是:红、蓝、绿。对变量 Total_Phenols 而言,均值差异也比较明显,其大小依次是:红、绿、蓝。此外,对变量 Malic_add 来说,红色种类葡萄酒的分布非常集中。
四.基于单变量的 K均值聚类
为了分析不同类别间各含量的差异,考虑绘制各类别的不同变量间的差异。由于13个变量的比较较复杂,这里尝试用基于原始数据的主成分方法筛选出不同种类间差异较大的因素,得到各主成分的方差解释度及载荷矩阵如图3.3。由图3.3 可知,wines 各变量由“第一主成分”解释的比例高达99.81%,且“第一个主成分”完全可以由变量 Proline 代表,因此,可选择变量 Proline进行不同类别间的葡萄酒差异比较。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年5月19日
下一篇 2019年5月19日

相关推荐