在R中保存并逐步更新最近邻模型

有几个最近邻居的R包(例如,FNN,RANN,yaImpute),但是他们都没有似乎允许节约NN数据结构(包括树,KD树等),以便可以计算新查询的最近邻居重build整棵树。 R中有这样的function吗?

我正在寻找一个函数返回一个数据结构,我可以随着新的数据到达执行近似K最近邻居search增量更新。

为什么没有NN包做这件事有一个很好的理由。

原因在于“NN数据结构”必然包括所有input数据点(以KD树的forms),所以没有空间节省input数据。 看起来,不需要为每个新的input重新创buildKD树节约了时间 ,但事实并非如此,唉。

原因在于build立KD树的时间总体上比线性的 。 这意味着,对于大量input, 构buildKD树之前对数据进行sorting是有意义的,因为这样会更快地产生KD树,并且会更好地平衡,这也会改善search(也比对数更差, 一般来说)。 这种方法会加速build模和评估,但是不鼓励增量更新。

我认为,最好的办法是find一个通用的KD-tree软件包,然后使用它。

nabor软件包可以让你build立一个树,然后在其上执行查询。 但我不认为它可以让你逐步更新树。