统计学习(李航)——K邻近法(Python)

k近邻算法

在这里插入图片描述
k邻近法的三要素:距离度量、k值的选择和分类决策规则。
距离度量:
距离定义为

L p ( x i , x j ) = ( ∑ l = 1 n ∣ x i ( l ) − x j ( l ) ∣ p ) l p L_{p}\left(x_{i}, x_{j}\right)=\left(\sum_{l=1}^{n}\left|x_{i}^{(l)}-x_{j}^{(l)}\right|^{p}\right)^{\frac{l}{p}} Lp(xi,xj)=(l=1nxi(l)xj(l)p)pl
p=1时:曼哈顿距离,两个向量的各个分量(坐标)的距离的和。
p=2时:欧式距离
p为无穷时:它是两个向量的各个分量(坐标)的距离的最大值。
k值的选择:
k值小,k近邻模型更复杂;k值大,k近邻模型更简单。通常由交叉验证选择最优的k值。
分类决策规则:在最近的k个邻近点中,属于哪一类的点最多,就将预测为该类。
如果涵盖 N k ( x ) N_{k}(x) Nk(x)的区域的类别是 c j c_{j} cj,那么误分类率是
1 k ∑ x i , N k ( x ) I ( y i ≠ c j ) = 1 − 1 k ∑ x i N k ( x ) I ( y i = c j ) \frac{1}{k} \sum_{x_{i}, N_{k}(x)} I\left(y_{i} \neq c_{j}\right)=1-\frac{1}{k} \sum_{x_{i} N_{k}(x)} I\left(y_{i}=c_{j}\right) k1xi,Nk(x)I(yi=cj)=1k1xiNk(x)I(yi=cj)

kd树:
kd树是一种存储数据的方法,对于每一个要预测的实例,都需要寻找和其特征向量距离最近的那些训练集中的实例,但是当特征向量维度很高时,这种搜索很耗时,这就需要一种特殊的数据结构,如kd树,不需要遍历训练集中的每一个实例。

代码:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值