scikit KNeighborsRegressor()与多元Y.

时间:2013-06-09 17:14:06

标签: python scikit-learn knn

我正在使用scikit k最近邻算法。在KNeighborsRegressor()函数中,我传递

weight = 'distance' and n_neighbors = 2 

但它会出现此错误 -

  

ValueError:操作数无法与形状(1,2,4)(1,2)

一起广播

我的代码:

X = [[1,2,3,4,5], [6,7,8,9,10], [11,12,13,14,15],[162,137,148,159,260]]
y = [[0,1,2,3],[5,6,7,8],[44,45,46,66],[12,13,14,15]]
from sklearn.neighbors import KNeighborsRegressor
neigh = KNeighborsRegressor(n_neighbors=2,weights='distance')
neigh.fit(X, y)
print(neigh.predict([[11.5,22,13.44,15.66,66]]))

如果可能,请告诉我为什么它不起作用。难道它不只是选择2个最近的邻居,根据距查询点的距离对它们进行加权然后进行预测吗?

1 个答案:

答案 0 :(得分:1)

正如我已经通过邮件告诉你的那样,KNeighborsClassifier中不支持多元回归。 不过,这很容易实现。 结果与独立完成组件相同,效率更高。