一、概述

  最近邻规则分类(K-Nearest Neighbor)KNN算法

  由Cover 和Hart在1968年提出了最初的邻近算法,

  这是一个分类(classification)算法

  输入基于实例的学习(instance-based learning), 懒惰学习(lazy learning)

二、原理

  在一个样本数据集合, 也称作训练样本集, 并且样本集中每个数据都存在标签, 即我们知道样本集中每一数据与所属分类的对应关系。输入没有标签的新数据后, 将新数据的每个特征与样本集中数据对应的特征进行比较, 然后算法提取样本集中特征最相似数据( 最近邻) 的分类标签。 一般来说, 我们只选择样本数据集中前k个最相似的数据, 这就是k-近邻算法中k的出处, 通常k是不大于20的整数。 最后, 选择k个最相似数据中出现次数最多的分类, 作为新数据的分类。

三、Distance

  1、欧式距离

  2、余弦值(cos)

  3、相关度(correlation)

  4、曼哈顿距离(Manhatten distance)

四、优缺点

  k近邻算法是分类数据最简单最有效的算法,k近邻算法是基于实例的学习,使用算法时必须有接近实际算计的训练样本数据。 k近邻算法必须保存全部数据集,如果训练数据集过于庞大,必须使用大量的存储空间。此外,由于必须对数据集中的每个数据计算距离值,实际使用时可能非常耗时;

  k近邻算法的另一个缺陷是它无法给出任何数据的基础结构信息,因此我们无法知晓平均实例样本和典型实例样本具有什么特征。我们将使用 概率测量方法 处理分类问题; 

最新文章

  1. Linux系统资源监控命令
  2. SPC.NET,为5年的开发做个结尾
  3. selenium向富文本框填写内容的几种方式
  4. &#x开头的是什么编码呢。浏览器可以解释它。如中国等同与中文"中国"?
  5. Python小白好教程
  6. 4.cadence原理图,环境设置[原创]
  7. c/c++中一些高级函数的使用
  8. chrome浏览器的桌面通知
  9. 移动端 微信 网易 触屏滑动回弹菜单(css版)
  10. Oracle 数据恢复指导具体解释
  11. Low-rank approximations
  12. PGM:不完备数据的参数估计
  13. antlr v4 使用指南连载5——如何编写词法定义
  14. ubuntu连接android设备(附最简单方法)
  15. 初学Python——第一节课
  16. js 暂时存储 sessionStorge
  17. 如何使用PowerDesigner设计数据库关系模式
  18. [ 转载 ] Java中成员变量 和局部变量
  19. JavaWEB springmvc 使用定时任务
  20. 把mongodb服务添加到系统服务中,报错:[sc] openscmanager 失败 5

热门文章

  1. JPA(四):EntityManager
  2. 以sb7code为基础创建一个基本的OpenGL项目
  3. 迁移Windows下的MySQL时字符乱码问题
  4. firefox chrome ie9,10,11 不支持selectSingleNode和selectNodes的解决方法
  5. Redis分布式锁实现秒杀业务(乐观锁、悲观锁)
  6. 【iOS地图开发】巧妙打造中英文全球地图
  7. MicrosoftAjax.js
  8. Go语言中Socket通信之Tcp客户端
  9. Spring Jdbc事例说明(三)
  10. CDH的安装和设置