3

如果我们有一个 6 行 10 列的矩阵,我们必须确定 k 值。如果我们假设默认 k 值是 5,并且如果我们的列数少于 5 行数相同 6,我们可以假设列数 = k值是否正确?即 rows=6 cols=4 然后 k=col-1 => k=3

4

3 回答 3

7

k=n^(1/2)

其中 n 是实例数而不是特征数。 参考1 ,参考2

于 2016-05-23T14:11:40.660 回答
3

检查这个问题,k最近邻算法中的k值

和上一个一样。通常,经验法则是特征数量的平方根

k=n^(1/2)

其中 n 是特征的数量。在您的情况下,10 的平方根大约是 3,所以答案应该是 3。

于 2013-08-09T11:06:38.020 回答
0

k=sqrt(n) 对各种数据集没有最佳结果。一些数据集,其结果非常糟糕。例如,一篇 90 年代论文链接的论文说 k 的最佳结果在 5-10 之间,但 sqrt(n) 给出了 17。其他一些论文提出了一些有趣的建议,例如局部 k 值或加权 k。

       很明显,选择 k 这不是一个容易的选择。这没有一个简单的公式,并且取决于我们的数据集。选择最优 k 的最佳方法是计算哪个 k 最适合我们的数据集的准确度。一般来说,如果我们的数据集越来越大,最优 k 值也会越来越大。

于 2018-11-16T16:52:44.737 回答