大多数经典的聚类和降维算法(层次聚类、主成分分析、k-means、自组织图......)都是专门为数值数据设计的,它们的输入数据被视为欧几里得空间中的点。
这当然是一个问题,因为许多现实世界的问题涉及混合数据:例如,如果我们研究公共汽车,高度和长度以及电机尺寸将是数字,但我们也可能对颜色感兴趣(分类变量:蓝色/red/green...)和容量等级(有序变量:小/中/大容量)。具体来说,我们可能希望同时研究这些不同类型的变量。
有许多方法可以将经典聚类算法扩展到混合数据,例如使用 Gower 相异性插入层次聚类或多维缩放,或其他将距离矩阵作为输入的方法。或者例如这种方法,SOM 对混合数据的扩展。
我的问题是:为什么我们不能只对混合变量使用欧几里得距离?或者为什么这样做不好?为什么我们不能对分类变量进行虚拟编码,对所有变量进行归一化,使它们在观察之间的距离上具有相似的权重,并在这些矩阵上运行通常的算法?
这真的很容易,而且从来没有做过,所以我想这是非常错误的,但谁能告诉我为什么?和/或给我一些参考?谢谢