一、回顾距离惩罚因子
在前面的学习中,我们知道KNN的‘一点一票’计数原则,在最终判别目标点属于某类别的过程,会使得入选的k个近邻点发挥的作用相同。
为了让相对较远的点判别效力更弱,而相对较近的点判别效力更强,我们引入了距离惩罚因子:根据每个最近邻点 距离的不同对其作加权,加权方法为设置权重 ,该权重计算公式为:
其中:分母表示入选的每个点到测试点的距离。表示入选的每个点到测试点的距离权重。
二、sklearn中的距离惩罚因子
在sklearn中,我们可以通过参数 来控制是否使用距离作为惩罚因子。
重要参数:weights |
用于决定是否使用距离作为惩罚因子的参数,默认是 "uniform" 可能输入的值有: "uniform":表示一点一票 "distance":表示以每个点到测试点的距离的倒数计算该点的距离所占的权重,使得距离测试点更近的样本点比离测试点更远的样本点具有更大的影响力 |