聚类(一)

 数 据 挖 掘 课——聚 集(一)

一,什么是聚类?

聚类:-将一个对象的集合分割成几个类,每个类内的对象之间是相似的,但与其他类的对象是不相似的。

评判聚类好坏的标准:1,能够适用于大数据量。2,能应付不同的数据类型。3,能够发现不同类型的聚类。4,使对专业知识的要求降到最低。5,能应付脏数据。6,对于数据不同的顺序不敏感。7,能应付很多类型的数据。8,模型可解释,可使用。

二,聚类所基于的数据类型。

聚类算法通常基于“数据矩阵”和“Dissimilarity 矩阵”。

怎么样计算不同对象之间的距离?

1,数值连续的变量(体重,身高等):度量单位的选取对于聚类的结果的很重要的。例如将身高的单位从米变为尺,将体重的单位从公斤变为磅将对聚类的结果产生很大的影响。为了避免出现这种情况,我们必须将数据标准化:将数据中的单位“去掉”。

A, 计算绝对背离度。B,计算标准量度。

下面我们考虑怎样来计算两个对象之间的差异。1,欧几里得距离。2,曼哈顿距离。这两种算法有共同之处:d(i,j)>=0,d(i,i)=0, d(i,j)=d(j,i),d(i,j)=<d(i,h)+d(h,j)。3,Minkowski距离。这是上述两种算法的通式。并且对于不同的变量,我们可以给它赋于不同的weight.

2,二元数据变量:如果还是用上面的方法来计算的话,肯定会出现错误。这儿分

两种情况,对称的与非对称的。

3,Nominal变量:(例如红,黄,绿,蓝….)

4,ordinal变量(例如科长,处长,局长….)

5,ratio-scaled变量:

6,以上几种混合的变量(多数情况是这样的):

三,分割的的方法。

1, K均值算法:给定类的个数K,将n个对象分到K个类中去,使得类内对象之间的相似性最大,而类之间的相似性最小。

缺点:产生类的大小相差不会很大,对于脏数据很敏感。

改进的算法:k—medoids 方法。

k—medoids 方法看起来和K-means比较相似,但是K-medoids和K-means是有区别的,不一样的地方在于中心点的选取在K-means中,我们将中心点取为当前cluster中所有数据点的平均值,在 K-medoids算法中,我们将从当前cluster 中选取这样一个点——它到其他所有(当前cluster中的)点的距离之和最小——作为中心点。这样的一个medoid就标识了这个类。

 

数据挖掘聚类算法之K-MEDOIDS

数据挖掘聚类算法之K-MEDOIDS

 

 

步骤:

1,任意选取K个对象作为medoids(O1,O2,…Oi…Ok)。

以下是循环的:

2,将余下的对象分到各个类中去(根据与medoid最相近的原则);

3,对于每个类(Oi)中,顺序选取一个Or,计算用Or代替Oi后的消耗—E(Or)。选择E最小的那个Or来代替Oi。这样K个medoids就改变了,下面就再转到2。

4,这样循环直到K个medoids固定下来。

这种算法对于脏数据和异常数据不敏感,但计算量显然要比K均值要大,一般只适合小数据量。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值