- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在使用 http://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html 时拟合一个预先计算的内核矩阵,这显然是可能的,因为存在“预先计算”的指标。我允许你传递一个 n_samples*n_samples 核矩阵来拟合方法。
使用它时,这是我得到的:
ValueError:指标“预计算”对算法“自动”无效
我不明白如何使用算法“自动”来查找最近的邻居与我使用预先计算的内核矩阵的事实不兼容。
编辑:
不幸的是,我的问题没有得到任何关注。我已经更深入地研究了源代码,自从您通过 metric=precomputed
以来似乎存在一个错误。 ,因为代码应该允许您选择 algorithm=auto
.相反,在运行时,代码会遇到我提到的 valueError,我认为作者不希望他的代码表现得那样。我不知道如何更改源代码以使其正常运行。
另外我想补充一个问题,从更理论的角度来看,能够使用核矩阵(又名克矩阵)来使用 kNN 的拟合方法是完全合理的。您可以从 gram 矩阵中推导出距离矩阵,然后当您想要预测新数据时,您只需找到 k 个最近的邻居,并使用 k 个最近邻居中最新的标签标记新数据。
我真的认为这个问题应该得到答案。这是正确的问题,我想要一些非常精确的东西,我知道对 Python 和 scikit learn 库有更深入了解的人应该能够回答它。也许我遗漏了一些明显的东西,但我也认为它应该可以帮助任何尝试将 kNN 与预先计算的内核矩阵(这不是孤立的情况)一起使用的人。
最佳答案
我想这是一个太晚的答复,但如果你仍然想知道。 “自动”不起作用,因为 KDTree 不接受用户定义或预先计算的指标。只有球树会起作用。如果您专门将算法设置为“球树”,它应该可以正常工作。希望这可以帮助!
关于scikit-learn - 为什么度量 ='precomputed' 在 sk-learn 的 k-最近邻中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38429987/
我是一名优秀的程序员,十分优秀!