【发布时间】:2019-06-28 14:52:21
【问题描述】:
在sklearn文档中,函数KNeighborsClassifier的参数weights="distance"解释如下:
'distance' :权重点的距离的倒数。在这种情况下,查询点的更近的邻居将有更大的 影响比更远的邻居。
虽然对我加权相邻点然后将预测计算为加权点的平均值是有意义的,例如使用 KNeighborsRegressor...但是,我看不到在分类中如何使用权重算法。根据 The Elements of Statistical Learning 一书,KNN 分类基于多数投票。不是吗?
【问题讨论】:
-
KNN 获得多数票并不是一成不变的。多数投票是这里最简单的决策策略,也是迄今为止最容易实施的。但是,正如您所提到的,将距离作为权重引入是合理的,因为多数投票会丢弃有价值的距离信息。
标签: python machine-learning scikit-learn knn