我想找到一种方法来确定我的knn算法中实际使用了哪些邻居,这样我就可以更深入地研究与我的特征相似的数据行。
以下是一个数据集的示例,我将其拆分为用于预测模型的训练集和测试集:
Player PER VORP WS
Fabricio Oberto 11.9 1.0 4.1
Eddie Johnson 16.5 1.7 4.8
Tim Legler 15.9 2.0 6.8
Ersan Ilyasova 14.3 0.7 3.8
Kevin Love 25.4 3.5 10.0
Tim Hardaway 20.6 5.1 11.7
Frank Brickowsk 8.6 -0.2 1.6
etc....下面是我的knn算法代码的一个例子:
features = ['PER','VORP']
knn = KNeighborsRegressor(n_neighbors=5, algorithm='brute')
knn.fit(train[features], train['WS'])
predictions = knn.predict(test[features])现在,我意识到算法将迭代每一行,并基于来自我指定的目标特征的5个最近邻居进行每个目标预测。
我想找出在确定我的目标特性时实际上使用了哪5个n_neighbors?在这种情况下-在确定目标时实际使用了哪些玩家?
有没有办法获得每行分析中使用的5个邻居(也就是玩家)的列表?
发布于 2019-10-30 10:35:25
knn.kneighbors将返回一个对应的最近邻居数组。
https://stackoverflow.com/questions/58617892
复制相似问题