机器学习(3)-- KNN算法

KNN算法
  1. KNN算法是一种常见的分类算法,其名称来源于 k Nearest neighbors,该算法基本思想为,对于一个分类问题,新的数据的类别应该和离他最近的已知数据点的类别相同。
  2. KNN算法不同于常见的统计算法。是一种懒惰算法。在没有 预测行为时,不会做任何计算。
  3. KNN算法的主要工作为遍历已知数据点和选取合适的距离度量方式。因此可以根据度量方式对数据集做预处理加快预测速度。
算法流程
1. 设置数据集和K
2. 设置或者选择距离衡量方式
3. 遍历数据集找到最近K个点
4. 投票决定新的数据集点的类别
关于距离的衡量

Euclidean Distance 定义
在这里插入图片描述
在这里插入图片描述
其他的距离计算方式包括余弦值(cos), 相关度 (correlation), 曼哈顿距离 (Manhattan distance)。

算法优缺点
  • 实现简单,但是对于大数据集复杂度很高而且效果往往不好。因为打的数据集对于K的选择更为敏感,不同的K可能导致不同的结果,如下:
    在这里插入图片描述
  • 当某一个类别的样本过大,可能导致判别失效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值