为什么我们想知道两个标称值之间的距离?

Why would we want to know the distance between two nominal values?

所以我的数据库中有一个问题 class 要求找出同一属性的两个值之间的距离(属性:工作类型;以及可能的值:电气、管道、维修)。所以管道和维修之间的距离。我将值转换为子属性并放入二进制数字来表示值的存在或不存在,因此新值如下所示(电气:100,管道:010,维修:001)。我现在可以计算这两个值之间的汉明距离。但我的问题是,在现实世界中,当两个标称值显然已经不同并且一个并不比另一个更有价值时,我们为什么还要知道它们之间的距离呢?

只要你只有有这样的变量就没什么用了。

但是假设你另外有属性 "age" 和 "income",并且你想聚类这个数据集,那么你需要一个距离函数。

不幸的是,二进制编码是一种不太有效的 hack。您仍然需要仔细规范化数据,但是正确 年龄、收入、工作的权重是多少?您会得到一些结果,但如果使用其他权重,您也可能会得到截然不同的结果。