KNN 应该使用哪种类型的数据规范化?

机器算法验证 机器学习 正常化 标准化 k-最近邻
2022-03-12 03:54:03

我知道有两种以上的归一化。

例如,

1- 使用 z 分数或 t 分数转换数据。这通常称为标准化。

2-重新缩放数据以具有介于 0 和 1 之间的值。

现在的问题是我是否需要规范化

KNN 应该使用哪种类型的数据规范化?为什么?

1个回答

对于 k-NN,我建议将数据标准化01.

k-NN 使用欧几里得距离作为比较示例的方法。计算两点之间的距离x1=(f11,f12,...,f1M)x2=(f21,f22,...,f2M), 在哪里f1i是的价值i-第一个特征x1

d(x1,x2)=(f11f21)2+(f12f22)2+...+(f1Mf2M)2

为了使所有特征在计算距离时具有同等重要性,这些特征必须具有相同的值范围。这只能通过标准化来实现。

如果它们没有被规范化,例如特征f1有一个值范围[0,1), 尽管f2有一个值范围[1,10). 在计算距离时,第二项将是10比第一个重要的时间,导致 k-NN 比第一个更依赖第二个特征。归一化确保所有特征都映射到相同的值范围。

另一方面,标准化确实具有许多有用的属性,但不能确保将特征映射到相同的范围。虽然标准化可能最适合其他分类器,但对于 k-NN 或任何其他基于距离的分类器而言,情况并非如此。