如果我们有一个6行10列的矩阵,我们需要确定k值。如果我们假设默认的k值为5,并且如果我们的列数少于5,但是行数相同,比如6行4列,我们可以假设列数=k值,这正确吗?即行=6,列=4,则k=col-1 => k=3。
k=sqrt(n)在不同的数据集中并不是最优的结果。有些数据集,它的结果相当糟糕。例如,90年代的一篇论文paper link说k的最佳结果在5-10之间,但sqrt(n)给出了17。其他一些论文提出了有趣的建议,如本地k值或加权k。
显然,选择k并不是一个容易的选择。这并没有一个简单的公式,而是取决于我们的数据集。选择最佳的k的最好方法是计算哪个k对我们的数据集最好。通常,如果我们的数据集变得更大,最优的k值也会增加。