KNN

KNN算法(K-近邻算法)
k-NN算法采用测量不同特征值之间的距离方法进行分类
优点:简单直观、精度高、对异常值不敏感
缺点: 计算复杂、空间复杂度高

输入样本: T = { x 1 , x 2 , x 3 , . . . } T=\left \{x_{1},x_{2}, x_{3},... \right \} T={x1,x2,x3,...}对数据进行归一化处理,然后根据某种距离度量方式得到输入样本 T T T与训练集中的每个样本的距离,找出与输入样本距离最近的k个点(样本),记作 N k N_{k} Nk
N k N_{k} Nk中根据某种分类规则(多数表决规则)决定输入样本 T T T的类别 y y y
距离度量方式:

  • 欧式距离:优点是当作标轴进行正交旋转后,欧氏距离保持不变。 d = ( x i 1 − x j 1 ) 2 + ( x i 2 − x j 2 ) 2 + . . . d=\sqrt{(x_{i}^{1}-x_{j}^{1})^{2}+(x_{i}^{2}-x_{j}^{2})^{2}+...} d=(xi1xj1)2+(xi2xj2)2+...
  • 曼哈顿距离: d = ∣ x i 1 − x j 1 ∣ + ∣ x i 2 − x j 2 ∣ + ∣ . . . ∣ d=\left | x_{i}^{1}-x_{j}^{1} \right |+\left | x_{i}^{2}-x_{j}^{2} \right |+\left | ... \right | d=xi1xj1+xi2xj2+...
  • 切比雪夫距离 d = m a x ( ∣ x i 1 − x j 1 ∣ , ∣ x i 2 − x j 2 ∣ , ∣ . . . ∣ ) d=max(\left | x_{i}^{1}-x_{j}^{1} \right |,\left | x_{i}^{2}-x_{j}^{2} \right |,\left | ... \right |) d=max(xi1xj1,xi2xj2,...)
    归一化\标准化方法:
  • Min-Max 归一化: X = ( x − X m i n X m a x − X m i n ) X=(\frac{x-X_{min}}{X_{max}-X_{min}}) X=(XmaxXminxXmin)
  • Z-Score 标准化: X = x − X m e a n σ X=\frac{x-X_{mean}}{\sigma } X=σxXmean
  • 均值标准化: X = x − X m e a n X m a x − X m i n X=\frac{x-X_{mean}}{X_{max}-X_{min}} X=XmaxXminxXmean
    归一化是为了在计算的时候消除量纲对计算的影响。
    标准化在进行特征缩放的同时还不会改变数据的原始分布。
    关于归一化与标准化的详细介绍
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值