统计学习方法笔记 第三章 kNN算法总结(包含Python代码)


1. k近邻算法

1.1 kNN分类算法

  1. 根据给定的的距离度量,在训练集 T T T中找出与 x x x最邻近的 k k k个点,涵盖这 k k k个点的 x x x的邻域记作 N k ( x ) N_k(x) Nk(x)
  2. N k ( x ) N_k(x) Nk(x)中根据分类决策规则(如多数表决)决定 x x x的类别 y y y:

y = a r g max ⁡ c j ∑ x i ∈ N k ( x ) I ( y i = c j ) , i = 1 , 2 , . . . , N : j = 1 , 2 , . . . , K y=arg\max_{c_j}\sum_{x_i\in{N_k(x)}}I(y_i=c_j),i=1,2,...,N: j=1,2,...,K y=argcjmaxxiNk(x)I(yi=cj),i=1,2,...,N:j=1,2,...,K

1.2 kNN回归算法

  1. 根据给定的的距离度量,在训练集 T T T中找出与 x x x最邻近的 k k k个点,涵盖这 k k k个点的 x x x的邻域记作 N k ( x ) N_k(x) Nk(x)
  2. 对距离最近的 k k k个点的距离做倒数处理,作为距离权值。
    w i = 1 d i s t ( x i ) , i = 1 , 2 … k w_i=\frac{1}{dist(x_i)},i=1,2\dots k wi=dist(xi)1,i=1,2k
  3. N k ( x ) N_k(x) Nk(x)中根据分类决策规则(加权表决)决定 x x x的类别 y y y:
    y = a r g max ⁡ c j ∑ x i ∈ N k ( x ) ( I ( y i = c j ) ⋅ w i ) , i = 1 , 2 , . . . , N : j = 1 , 2 , . . . , K y=arg\max_{c_j}\sum_{x_i\in{N_k(x)}}(I(y_i=c_j)\cdot w_i),i=1,2,...,N: j=1,2,...,K y=argcjmaxxiNk(x)(I(yi=cj)wi),i=1,2,...,N:j=1,2,...,K

1.3 kNN离群点检测算法

  1. 根据给定的的距离度量,在训练集 T T T中找出与 x x x最邻近的点,计算距离 d i s t ( 1 ) dist(1) dist(1)
  2. 计算距离这个最邻近点的最邻近的 k k k个点的距离平均值。
  3. 比较最近邻距离 d i s t (
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值