gpt4 book ai didi

algorithm - 如何在 Octave 中使用 kNN 为数据集变量添加权重?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:16:13 26 4
gpt4 key购买 nike

我正在实现 this kNN Octave 中的算法。

函数本身是这样声明的

    function [classified, k, dist, idx] = fastKNN(trained, unknown, k, distance)

我的数据集是这样的:

%lat, lng, area, buildyear, price
54.6, 24.7, 23.6, 1965, 100000.00
54.6, 24.7, 13.6, 1964, 50000.00
...

我有 2 个问题。

问题 1:如何为数据集变量添加权重。例如,区域的权重比坐标大得多。

问题 2:如果设置 k=3,算法会返回最近的 3 个邻居的平均价格还是从 3 个中选择一个? - 我猜这与我正在学习的算法更相关。

谢谢!

最佳答案

要对某个特征赋予更多权重,您可以将给定特征乘以某个值。

这相当于沿着各自的维度拉伸(stretch)空间,有效地在计算距离时更加强调各自特征的变化。


fastKnn您提到的函数使用最近的 k 个邻居的“模式”(最频繁的值)。这适用于分类(您有几个要预测的类),但对您的情况不是很有用。

对于回归,取最近邻值的平均值是一个不错的选择。

关于algorithm - 如何在 Octave 中使用 kNN 为数据集变量添加权重?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45755024/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com