我知道,随着问题范围的扩大,kNN搜索的效果会更差。我知道对于kNN搜索,20被认为是非常高的维数。我不知道在3(我知道kNN效果很好)和20(我知道kNN效果不太好)之间真正开始变坏的地方。
假设树平衡良好,有谁知道平均查询速度与1到20维之间的维数有何关系?
就不同的kNN算法产生的结果而言,我对此很感兴趣,但是您可以将Scikit Learn实现作为kNN作为问题的基线。
答案 0 :(得分:1)
性能在很大程度上取决于您使用的数据类型(以及scicit-learn使用的任何索引)。 有关简短示例,请参见Fig. 32-35 here。在这些示例中,对于高度聚集的数据集(标记为CL-P),KD-Tree的性能比某些其他索引差100倍,而对于另一个均匀分布的数据集(CU-P),它们几乎相同。