文章目录
聚类的方法和结果是多种多样的,你可以使用多种方法,只要你的结果解释的合理就行,解释不好就换种方法试试
聚类数目一般不要分为太多类了,一般K小于等于5吧,看你实际情况分为几类好解释了
聚类之前首先标准化处理数据以消除量纲的影响
标准化处理很简单,直接在spss中描述统计就好啦
因为聚类中计算距离使用欧氏距离
除非所有指标的单位都一样,比如数据是各种消费指标,单位都是元,那就不需要标准化
聚类也是可以对指标分类的,只是用的很少
一般都是对样本进行聚类的
1 k-means
简单
计算效率很高
聚类结果依赖初值
2 k-means++
spss默认使用的就是kmeans++
他可以保证不同的类之间的距离可以尽量的大,这不就是聚类的初衷嘛,所以他会成功
最大的不同在于聚类初始中心的选择
轮盘法
轮盘法
轮盘法
但是,并不是说低概率的点就不会被选作聚类中心了,概率嘛,小概率也是可能发生的
3 系统聚类/层次聚类
解决k均值需要自己确定簇数的问题
最后生成一个谱系图
根据距离不断合并
样品与样品之间的距离
示例
最常用的是前面两个,后面三个都用很少的
指标和指标的距离(用得少)
相关系数是一个线性距离
示例
类和类之间的距离
即聚类中心之间的距离
帮助确定类别数目k的图形方法(肘部法则)
k最大是n-1哈,为n还算个啥畸变程度
spss中系统聚类给出的结果中的系数,就是上图的聚合系数
画出聚合系数和类别数的图像,由聚合系数的定义知道,一定是随着k增大,系数减小的,递减的趋势
用spss画出的聚类可视化图像(只适用于指标为2和3的可视化,实际情况一般指标多于3,是不可以这样可视化的)
4 DBSCAN聚类算法
这个聚类还是用得少,除非你的数据真的是很"dbscan",你懂吧,木就是挨着一坨一坨的很密集的那种
上面的k均值和层次聚类都是基于距离的
上图的这种数据,是只能用基于密度的聚类的,基于距离的聚类怎么着都聚不好
非常重要的参数——半径
聚类完成后,有的点不在任何类中,则为本次聚类的异常点
还是系统聚类好使啊,非常经典,能写的东西有肘部法则,谱系图,系统聚类算法流程图啥的,比k均值聚类能写的东西多得多