数据仓库与数据挖掘——k-Means算法

一、基本介绍

        聚类就是对大量未知标注的数据集,按数据的内在相似性将数据集划分为多个类别,使类别内的数据相似度较大而类别间的数据相似度较小。由这个定义可以知道,数据集并没有目标值。因此聚类算法属于无监督算法。k-Means算法的思想很简单,对于给定的样本集,按照样本之间的距离大小,将样本集划分为k个簇,同时使簇内的点尽量紧密的连在一起,簇间的距离尽量的大。

二、核心思想

        给定一个有n个对象的数据集,划分聚类技术将构造数据k个划分,每一个划分就代表一个簇,k≤n。也就是说它将数据划分为k个簇,而且这k个划分满足下列条件:

        ①每一个簇至少包含一个对象;

        ②每一个对象属于且仅属于一个簇。

        对于给定的k,算法首先给出一个初始的划分方法,以后通过反复迭代的方法改变划分,使得每一次改进之后的划分方案都较前一次更好,即同一簇中的对象越近越好,而不同簇中的对象越远越好。目标是最小化所有对象与其参照点之间的相异度之和,这里的远近或者相异度/相似度实际上是聚类的评价函数。

三、原理演示

数据仓库与数据挖掘——k-Means算法_第1张图片

        给出样本点和k值

数据仓库与数据挖掘——k-Means算法_第2张图片

         随机选出k个初始点

数据仓库与数据挖掘——k-Means算法_第3张图片

        标出聚类中心

数据仓库与数据挖掘——k-Means算法_第4张图片

        计算剩余样本点到k个聚类中心的距离,指向最近的聚类中心

数据仓库与数据挖掘——k-Means算法_第5张图片

         划分聚类

数据仓库与数据挖掘——k-Means算法_第6张图片

         重新计算聚类中心

数据仓库与数据挖掘——k-Means算法_第7张图片

数据仓库与数据挖掘——k-Means算法_第8张图片

数据仓库与数据挖掘——k-Means算法_第9张图片

        递归计算,直到准则函数收敛或不产生新的聚类

四、算法流程图

数据仓库与数据挖掘——k-Means算法_第10张图片

五、关键源码展示

1、导入数据

数据仓库与数据挖掘——k-Means算法_第11张图片

2、划分聚类

数据仓库与数据挖掘——k-Means算法_第12张图片数据仓库与数据挖掘——k-Means算法_第13张图片3、输出聚类情况,绘制散点图

数据仓库与数据挖掘——k-Means算法_第14张图片

六、扩展实验

数据仓库与数据挖掘——k-Means算法_第15张图片

         DBSCAN与k-Means的对比实验

你可能感兴趣的:(算法,数据挖掘,kmeans,人工智能)