我正在使用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个最近的邻居,根据距查询点的距离对它们进行加权然后进行预测吗?
答案 0 :(得分:1)
正如我已经通过邮件告诉你的那样,KNeighborsClassifier中不支持多元回归。 不过,这很容易实现。 结果与独立完成组件相同,效率更高。