方法:
-
0.聚类和分类区别:分类就是已知所有类别,只是区分一下。(即做一个判断即可),而聚类,则是不知道任何类别的情况下,将一堆数据进行划分到k个区域,即只是寻找数据的相似性,还是由人来看最终到底有什么区别。
-
1.又称为聚类算法(或者沃罗努瓦分割),顾名思义,就是将n个点进行归类,归到k个类中(当然,K<=n),使得 每个点都处于----类的均值最近的那个类中。比较拗口,举个例子,3个人,身高分别为1,2,3,现在需 要划分为2个类,因为数据比较少,不妨先随意划分一下,(1,2) 3,这样划分,第一个类均值1.5 第二个类3,总距离是0.5+0.5+0=1,1 (2,3),也是同理,总距离也是0+0.5+0. 5=1,(1,3) 2,这个总距离就是1+1+0=2了,所以可以得处前两种划分方式符合K平均算法的计算结果(当然,由于数据少,我们用的是枚举法得出,由这个例子可以看出,算法结果不一定是唯一的)
-
2.注意K平均算法与K近邻无关,用科学表示,就是解决这么一个问题:已知观测集 ( x 1 , x 2 , . . . , x n ) {\displaystyle (x_{1},x_{2},…,x_{n})} (x_{1},x_{2},…,x_{n}),其中每个观测都是一个 d {\displaystyle d} d-维实向量,k-平均聚类要把这 n {\displaystyle n} n个观测划分到k个集合中(k≤n),使得组内平方和(WCSS within-cluster sum of squares)最小。
-
3.如何计算?上面阐述了问题,那么如何运算?:采用迭代算法,步骤如下①设置一个k值(一般这个是已知条件),②随机选择k个数据,作为类的质心,③分别计算剩下的(n-k)个数据到每个质心距离,每个点划分到离开他最近的那个质心(这里需要用到求距离公式),这步完成后会形成第一次划分。④在每个质心内部,重新计算最新的质心(如果是二维点,分别取所有点的x值的平均值和y的值的平均值即获得新的质心,⑤重复②-③步骤,进行重新划分,直到分布不再变化,即收敛。即算法计算完成。
-
4.应用举例:任何数值型,连续数据都可以进行聚类,比如聚类各个城市居民在衣食住行消费支出的数据,就可以看出各个省份的消费水平:当然,和k值的选择也有很大关系。