K均值聚类算法中,对枚举类型,有序类型,是怎样定义距离的?
先看一下K-means聚类算法的步骤:
1、从D中随机取k个元素,作为k个簇的各自的中心。
2、分别计算剩下的元素到k个簇中心的相异度,将这些元素分别划归到相异度最低的簇。
3、根据聚类结果,重新计算k个簇各自的中心,计算方法是取簇中所有元素各自维度的算术平均数。
4、将D中全部元素按照新的中心重新聚类。
5、重复第4步,直到聚类结果不再变化。
6、将结果输出。
一般计算相异度的方式是采取各种距离(欧式、马氏、切比雪夫、闵式),但是不管什么距离都绕不开
所以,通常情况下,如果一定要以k-means去算有序变量的话,是采用根据业务经验赋权重的方式,比如低度活跃:中度活跃:高度活跃=低度活跃用户.订单数.sum()/中度活跃用户.订单数.sum():到度活跃用户.订单数.sum(),但通常效果不好。
我提供一个“曲线”思路,比如低度活跃:中度活跃:高度活跃,我们可以把活跃度这个变量拆分成三个哑变量,是否低活、是否中活、是否高活,再利用支持混合变量距离的算法,举几个常见的: k-prototypes: 结合了K-Means和K-Modes两种算法,能够处理混合型数据 ; ROCK: 也采用了随机抽样技术,该算法在计算两个对象的相似度时,同时考虑了周围对象的影响
【K均值聚类算法中,对枚举类型,有序类型,是怎样定义距离的?】 整理了常见的聚类方法:
希望对你有所帮助,:)
推荐阅读
- 均值|看看你掌握了几种吧!高中数学:八种方法求解均值不等式
- 为啥这个算法误差的看起来这么小
- 使用算法帮助人们筛选reader的信息是否存在可能
- 请问如果想成为算法工程师的话,大学选专业是选软件工程好还是计算机科学与技术好。
- 神经网络算法是否真的属于人工智能范畴
- 以算法为例,是否存在讲解者认为“懂得自然懂了,不懂的我说再多也白搭”的心理
- 豆瓣FM的推荐算法还有哪些可以改进的地方
- 如果已确定图像中物体的位置, 常用的目标分割和提取算法有哪些
- 请问只靠优化软件可以提高手机信号质量吗就是说不改变基带芯片和天线设计,信号质量可以靠算法优化吗
- 网络台球的动量算法规则是咋写的