只是想知道是否有人知道内核对于sklearn中的KNN回归是什么。我想使用高斯内核,但我不确定KNN回归量中的内核是否是高斯内核,对此主题的任何帮助都将非常感激。
答案 0 :(得分:1)
我假设你在这里谈论sklearn.neighbors.KNeighborsRegressor。
有点不清楚'内核'是什么意思,但假设你在讨论k邻居是如何加权的:
weights='uniform'
)weights='distance'
来设置它来根据距离的倒数来对邻居进行加权。虽然默认情况下没有实现高斯内核,但KNR也支持决定权重的任意函数。你可以这样定义一个:
def kernel(distances):
# distances is an array of size K containing distances of neighbours
weights = gaussian(distances) # Compute an array of weights however you want
return distances
然后通过weights=kernel
将其传递给你的KNR初始化。我建议您阅读sklearn文档以获取更多信息。