在 scikit-learn 中为 KNN 使用除 p-norm 之外的其他成对距离度量

Posted

技术标签:

【中文标题】在 scikit-learn 中为 KNN 使用除 p-norm 之外的其他成对距离度量【英文标题】:Use other pairwise distance metrics in scikit-learn for KNN besides p-norm 【发布时间】:2012-06-22 01:12:25 【问题描述】:

对于scikit-learn's KNN package,可以指定不是 p 范数或 Minkowski 距离的成对距离度量(来自包 sklearn.metrics.pairwise)吗?例如,我可以使用RBF kernel 吗?甚至是cosine distance?

【问题讨论】:

【参考方案1】:

不幸的是,用于在中低维数上计算快速精确 NN 搜索的 BallTree 算法无法用于任意指标。

【讨论】:

即使使用蛮力选项也不行? 可以使用 bruteforce 和任意函数来实现 kNN 分类来计算成对距离,但当前的实现不能。 顺便说一句:任何拉取请求总是受到赞赏(即使我们现在审查它们的速度很慢......) 太棒了,现在正在观看 scikit-learn github repo。我可以这样做,谢谢! 如果可以通过插入自定义距离计算功能来使用任意距离度量,那就太棒了。

以上是关于在 scikit-learn 中为 KNN 使用除 p-norm 之外的其他成对距离度量的主要内容,如果未能解决你的问题,请参考以下文章

如何在 scikit-learn 中继续训练 svm 和 knn?

Scikit-learn KNN 中的规范化

我自己的 KNN 函数给出的结果与 scikit-learn 不同

scikit-learn估计器-KNN均值聚类

scikit-learn中的机器学习算法封装——kNN

scikit-learn初步,一个KNN算法示例