使用 KNN 进行预测,我应该如何规范化我的数据?

机器算法验证 k-最近邻
2022-04-19 02:19:11

将数据限制在一个范围内,比如 [0,1],还是强制平均值为 0 和 sd 为 1 更好?为什么?输入数据的类型是否重要(我将同时使用连续变量和分类变量)?

2个回答

我认为这取决于数据。如果您知道您的功能是有界的,您可以将其缩放到[0,1]如果它是二进制的,我猜{0,1}是一个不错的选择,也许是{1,1}现在,如果它是无限的,标准化为Z -scores x¯=0 , σ=1是一个合理的选择。

与 K-means 类似,KNN 使用距离度量。所以

  • 最好对特征进行归一化。如果不是,则具有较大值的特征将占主导地位。
  • 如果您有太多离散变量并使用虚拟编码,则距离测量将无法正常工作。

另外,我认为我对 K-means 的回答将回答您的问题,即如果我们不对特征进行规范化可能会发生什么。

标准化 K-Means 中的一些特征