分类变量聚类算法

1.全是类别属性用什么聚类算法比较好?
2.怎样在聚类过程中将属性权重考虑进去?

cador - Life is short , you need R!

赞同来自: whz1119 fish

同学,聚类算法的核心是计算距离,针对类别属性,首先要进行数值量化 (1)如果是有序类别,比如”低“,”中",“高“,可以根据业务理解将其量化为1,2,3,如此类推,需要注意的是,这里的数值是不是越大越好,应与业务逻辑一致 (2)如果是无序类别,可以使用哑变量来代替类别属性,比如有一个属性为性别,有”男“,”女“,两个值,此时可新建一个属性为”男性“,将所有记录中包含男性的置为1,其它的置为0,并使用该属性代替原始类别属性。这里需要注意的是,如果类别属性共有N个值,需要用N-1个数值属性(通常取0和1)来代替原属性。 另外,如果要在聚类的过程中,考虑权重,其实也很简单,首先确保数据已经标准化,这时所有的属性都在同一个量纲下,此时,在计算距离时,可以权重加在各分量平方项的前面,与之相乘。比如计算距离sqrt((x1-x2)^2+(y1-y2)^2),加上权重后变为sqrt(0.5*(x1-x2)^2+0.9*(y1-y2)^2) 希望可以帮到你。

whz1119

赞同来自:

谢谢小游老师! 分类变量数值化后再用k-means算法还是k-modes算法?

数据豆

赞同来自:

小游老师,如果是回归问题,无序多分类变量该如何处理,哑变量感觉太多了

要回复问题请先登录注册