我正在执行数值变量的 kNN 预测(knn 回归或局部加权平均值)。我使用欧几里得距离和 1/距离作为权重,但我不知道这是如何应用的。我有问题:
WEKA IBk 中回归的加权究竟是如何执行的?这是一个简单的函数,比如 1/distance 还是更复杂的函数?我查看了源代码,但我什么也看不懂。距离是如何定义的——是欧几里得还是一些修改?该代码的含义(这是来自 IBk 源代码的第 867 和 868 行):
distances[i] = distances[i]*distances[i];
distances[i] = Math.sqrt(distances[i]/m_NumAttributesUsed);