zoukankan      html  css  js  c++  java
  • 混合型变量聚类的观点

    硕士阶段做过用户聚类,聚类变量包括连续型和分类型。将连续型聚类变量的尺度放缩到 [0,1] 之间,分类型变量one-hot转化,然后聚类。你会发现问题:最后你在计算聚类中心的数值时,分类型变量在各个聚类中心间的差异较大,而连续型的变量差异较小

    为了弄明白原因,我进一步展开实验:首先,我用方差来量化聚类结果中各聚类中心间的聚类特征差异程度;然后,同样用方差来量化每一个放缩到[0,1]后的聚类特征以GOWER距离计算的距离矩阵(下三角矩阵,对角为0)(分类型计算结果明显大于连续型,分布比较平均的时候尤其如此);之后,对以上两种方差进行皮尔森相关性分析,在收集多种数据集数据,相关度在80~90%左右。

    以上实验结果表明,用混合型聚类特征进行聚类,这种方法存在着由变量类型有所引起的固有性的问题。这个问题有很大一部分是两种类型的特征在用统一的格式处理之后,其内部方差具有固有性的不平衡

    为了抵消这种固有性的问题,我将每个聚类特征 [0,1]化处理后获取对象在gower距离定义下的距离矩阵(下三角矩阵,对角为0)的方差值的倒数作为权重,去调整[0,1]化后的聚类特征的scale。最后聚类效果非常显著:所有聚类特征的聚类贡献平摊地非常好。

    再深入探讨一下采取权重平衡策略进行聚类和直接聚类在聚类质量上的差异。我用轮廓系数来度量聚类质量,我发现用权重平衡后的聚类质量是要低于直接聚类的聚类质量。我认为这个是和两种情况变量的聚类参与度的高低有关:直接聚类时,有一些方差小的聚类变量聚类贡献较小,极端情况下(如方差为接近于0)就相当于少了几个聚类变量。我跟进了一个实验:我将数据集的聚类特征2组合、3组合……n组合,并记录聚类质量,我发现聚类特征数目越少,聚类质量越高;同等聚类特征数目下,若变量组中有少量高方差的聚类特征,聚类质量也很好。以上结果说明:聚类若存在少数高方差的特征,它会主导聚类结果,变相地减少聚类特征的数目,并计算得到高水平的聚类质量。而对聚类特征进行权重处理后,相当于每个聚类特征的聚类贡献被预平均化,那么聚类结果不被任何一个特征主导,每个特征所贡献的距离方向不同,贡献的距离又相近,那么相对不容易获得高水平的聚类质量。

    虽然对聚类特征按方差进行权重处理,获得的聚类结果聚类质量不会很高。但是对于用户聚类而言就是一个建设性划分的任务,不必要在n维空间结构上有明显的簇状分离,从而获得很高的聚类质量。很多情况下聚类质量没有于实际意义(可解释性)更受关注,但并不是聚类质量不重要。

     

    我建议:

    1.如果在采用方差权重处理聚类变量前,要对聚类变量精挑细选,没有价值、没有必要的尽量不用于聚类,否则会增加在同样的方法下降低聚类质量的风险。

    2.如果你认为,你所使用的聚类变量的价值有高有底(比如你想突出某一个对业务影响很大的变量),那么你可以在权重平衡后再增加对应聚类变量的权重。

  • 相关阅读:
    02、Linux下sshd以及openssl的知识点
    01_1、光盘上CentOS 安装程序启动过程
    01_2、GRUB(Boot Loader)
    1.在CentOS 6.4安装python3
    02.python基础知识_02
    01.python基础知识_01
    python_opencv应用系列1:图片读写
    Python for else 循环控制
    python中print后面加逗号
    Python中def的用法
  • 原文地址:https://www.cnblogs.com/mx0813/p/12611543.html
Copyright © 2011-2022 走看看