KNN 如何处理分类特征

数据挖掘 分类 scikit-学习 监督学习
2022-02-18 09:25:33

对于使用欧几里得距离度量的 K 最近邻算法,当一个(或所有)特征是分类特征时,该算法如何计算欧几里得距离?或者它只是通过邻居中最常见的值?

因此,例如,如果 3 个邻居的 2 个特征是年龄和性别,其值为:age,gender=[ [20,M], [31,F], [23,M] ],我们需要为一个新的观察[20,F],我们如何将性别转换为数字尺度来计算欧几里得距离?

1个回答

它不处理分类特征。这是 kNN 的一个根本弱点。当特征在不同的尺度上时,kNN 通常不能很好地工作。当“尺度”之一是类别标签时尤其如此。您必须决定如何将分类特征转换为数字尺度,并以某种与其他特征有意义的方式分配类别间距离(例如,年龄-年龄距离......但什么是年龄-类别距离?) .

如果所有特征都是分类的,并且类别间的距离都被视为相等,那么您的工作实际上会变得更容易一些,因为您没有在分类尺度和标量尺度之间进行转换。