scikits learn中是否有一种方法可以选择k个最近邻居,且使用用户定义的距离度量方式?

3

我需要使用K近邻算法对一组向量进行处理,使用余弦相似度和其他用户定义的指标。请问如何在scikits learn中实现?我找到了sklearn.neighbors.KNeighborsClassifier,但是没有找到任何用户定义指标的选项。我目前正在使用最新版本的scikits learn 0.11。

1个回答

3
目前还无法将预先计算或惰性计算的用户自定义距离函数传递给kNN模型。但是,在主分支中,现在您可以使用任意p值来进行p-Minkowsky距离:https://github.com/scikit-learn/scikit-learn/pull/742。对于暴力方法而言,让任何用户定义距离函数传递变得非常容易,但是对于低维数据的球树实现,则不能轻松地适应于一般情况。此外,针对稀疏正数据和余弦相似度,倒排索引将成为更好的数据结构,请参见:http://metaoptimize.com/qa/questions/9691/efficient-nearest-neighbors-in-a-very-sparse-settings

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接