![](https://csdnimg.cn/release/download_crawler_static/87518195/bg4.jpg)
由于本数据集的数据维数较多,所以本实验采用了结构体来存储 60 维的数
据,并使用指针来进行对数据的操作,以提高速度。在数据预处理过程中,首先将
数据从 data 文件中读出,后依次存入结构体数组
dataset[600]中。
4. k-means 聚类算法
k-means 算法接受参数 k ;然后将事先输入的 n 个数据对象划分为 k 个聚类以
便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似
度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中
心)来进行计算的。
K-means 算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之
一。K-means 算法的基本思想是:以空间中 k 个点为中心进行聚类,对最靠近他们
的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结
果。 (1)算法思路:
首先从 n 个数据对象任意选择 k 个对象作为初始聚类中心;而对于所剩下其它
对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似
的(聚类中心所代表的)聚类;然 后再计算每个所获新聚类的聚类中心(该聚类中所
有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。一般都采用均
方差作为标准测度函数. k 个聚类具有以下特点:各聚类本身尽可能的紧凑,而各
聚类之间尽可能的分开。
该算法的最大优势在于简洁和快速。算法的关键在于初始中心的选择和距离公
式。
(2)算法步骤:
step.1---初始化距离 K 个聚类的质心(随机产生)