KNN算法

K近邻(KNN)算法

最容易理解的算法.

最容易实现的算法.

KNN的核心思想

 简单的来说就是给定一个预测目标,接下来计算预测预测目标和所有样本之间的距离或者相似度,然后选择距离最近的前K个样本,然后通过这些样本来投票决策.

不同的K值,会对预测产生不同的影响.

实现一个KNN

1、把一个物体表示成向量:这也叫做"特征工程",模型的输入一定是数量化的信息,我们需要把显示生活中的物体表示成向量\矩阵\张量的形式

2、标记好每个物体的标签 

3、计算两个物体之间的距离(相似度):计算欧式距离.

4、选择合适的k:为了选择合理的K,首先下幼去理解K对模型的影响,为了理解K对模型的影响,需要先理解什么叫模型的决策边界.

         决策边界:例:大学里60分以上作为及格,60分以下不及格,则60分就是一个决策边界.

         决策边界的分类:线性决策边界和非线性决策边界。拥有线性决策边界的模型我们称为线性模型,反之非线性模型。

         模型的泛化能力:可以简单理解成“它在新的环境中的适应能力”,当然这个环境需要跟已有的环境类似才行。

交叉验证

就是大多数人所说的"调参"的过程.核心思想就是把一些可能的K逐个去尝试一遍,然后选出效果最好的K值.

把训练数据进一步分成训练数据和验证集,选择在验证数据里最好的超参数组合.

最常用的交叉验证技术叫做K折交叉验证(K-fold Cross Validation). 

Leave-one-out交叉验证(也叫留一法,是K折交叉验证的一个特例)

特征缩放

总体来讲,有两种常见的特征标准化的方法。它们分别是线性归一化和标准差归一化。其中,线性归一化指的是把特征值的范围映射到[0,1]区间,标准差标准化的方法使得把特征值映射到均值为0,标准差为1的正态分布

线性归一化

标准差标准化

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值