3

我必须使用余弦相似度度量和其他一些用户定义的度量来为一组向量使用 K 最近邻。如何使用 scikits 学习来实现这一目标?我找到sklearn.neighbors.KNeighborsClassifier了,但我无法找出用户定义指标的任何选项。我目前使用的是最新版本的scikits learn 0.11。

4

1 回答 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

于 2012-04-13T09:06:01.153 回答