- 使用KNN时属性不是数值而是标称的,如颜色,如何计算距离?一种简单的方法就是比较描述属性对应的值,如果两者相同,则两者的差为0,如果两者不同,则两者的差为1。
- 出现缺失值怎么办?如果x1和x2在属性A上的值缺失,则我们取最大的可能差。假定每个属性都已经映射到[0,1]之间,对于描述属性,如果A的一个或两个对应值缺失,则取差值为1,当A是数值属性,若x1和x2在A属性上的值均缺失,则差值取1,如果只有一个值缺失,另一个值存在并且已经规范化为v,则差值取|1-v|和|0-v|的最大值。
描述属性在程序中的处理方法:
例如鲍鱼数据集中第一个属性有3个取值,F、M、I,在程序中分别替换为1,2,3,当差值为0时,说明两个样本在该属性的取值相同,当差值不为0时,说明两个样本在该属性的取值不同,将差值替换为1