在使用k近邻算法时,有没有办法获取被使用的“邻居”?

我想找到一种方法来确定在我的knn算法中实际使用了哪些邻居,这样我就可以深入研究与我的特征相似的数据行。

以下是一个数据集的示例,我将其分为训练集和测试集用于预测模型:

    Player       PER    VORP    WSFabricio Oberto 11.9    1.0    4.1Eddie Johnson   16.5    1.7    4.8Tim Legler      15.9    2.0    6.8Ersan Ilyasova  14.3    0.7    3.8Kevin Love      25.4    3.5    10.0Tim Hardaway    20.6    5.1    11.7Frank 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个邻居?在这种情况下,哪些球员实际上被用来确定目标?

有没有办法获得每行分析中使用的5个邻居(即球员)的列表?


回答:

knn.kneighbors 将返回一个对应的最近邻居数组。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注