K近邻算法

k近邻算法(k-nearest neighbor,k-NN)是一种基本分类与回归方法。k-近邻算法的输入为实例的特征向量,对应于特征空间的点;输出为实例的类别,可以取多类。k-近邻算法假设给定一个训练数据集,其中的实例类别已定。分类时,对新的实例,根据其k个最近邻的训练实例的类别,通过多数表决等方式进行预测。因此k-近邻算法不具有显式的学习过程。k-近邻算法实际上是利用训练数据集对特征向量空间进行划分,并作为其分类的“模型”。

k值的选择、距离度量及分类决策规则是k-近邻法的三个基本要素。k-近邻法1968年由Cover和Hart提出。

k-近邻算法简单、直观:给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最近邻的k个实例,这k个实例的多数属于某个类,就把该输入实例分为这个类。简单来说,k-近邻算法采用测量不同特征值之间的距离方法来进行分类。

K-近邻算法优缺点
优点:精度高、对异常值不敏感、无数据输入假定。
(因为k-近邻算法会计算所有的训练数据,因此某个异常数据对整体的影响不大)

缺点:计算复杂度高、空间复杂度高。
(同时,因为要遍历所有的训练数据,因此计算复杂度和空间复杂度都比较高)

适用数据范围:数值型和标称型。
(监督学习一般使用两种类型的目标变量:标称型和数值型。标称型目标变量的结果只有在有限目标集中取值,如真与假、动物分类集合{爬行类、鱼类、哺乳类、两栖类};数值型目标变量则可以从无限的数值集合中取值,如0.100、42.001、1000.743等。数值型目标变量主要用于回归分析。)

K-近邻算法的一般流程
(1)收集数据:可以使用任何方法。
(2)准备数据:距离计算所需要的数据,最好是结构化的数据格式。
(3)分析数据:可以使用任何方法。
(4)训练算法:此步骤不适合用于k-近邻算法。
(5)测试算法:计算错误率。
(6)使用算法:首先需要输入样本数据和结构化的输出结果,然后运行k-近邻算法判定输入数据分别属于哪个分类,最后应用对计算出的分类执行后续的处理。

(结构化数据:简单来说就是数据库。结合到典型场景中更容易理解,比如企业ERP、财务系统;医疗HIS数据库;教育一卡通;政府行政审批;其他核心数据库等。这些应用需要哪些存储方案呢?基本包括高速存储应用需求、数据备份需求、数据共享需求以及数据容灾需求。非结构化数据有图像、声音、影视、超媒体等信息。)

机器学习算法——K近邻法相关推荐

  1. 机器学习算法---K近邻算法

    K近邻算法 1. K-近邻算法简介 1.1 什么是K-近邻算法 根据你的"邻居"来推断出你的类别 K Nearest Neighbor算法⼜叫KNN算法,这个算法是机器学习⾥⾯⼀个 ...

  2. 机器学习算法K近邻--阿里云天池

    学习内容概括: KNN虽然很简单,但是人们常说"大道至简",一句"物以类聚,人以群分"就能揭开其面纱,看似简单的KNN即能做分类又能做回归, 还能用来做数据预处 ...

  3. 机器学习-监督学习之分类算法:K近邻法 (K-Nearest Neighbor,KNN)

    目录 KNN概述 举个例子: K值选取 距离计算 曼哈顿距离,切比雪夫距离关系(相互转化) k-近邻(KNN)算法步骤 相关代码实现 简单实例:判断电影类别 创建数据集 数据可视化 分类测试 运行结果 ...

  4. k邻近算法python代码_机器学习算法之K近邻法-Python实现

    一.算法简介 k近邻法(k-nearest neighbor,k-NN)是一种基本的分类方法,输入的是实例的特征向量,对应于特征空间的点,输出结果为实例的类别,可以取多类.对于训练集来说,每个实例的类 ...

  5. 经典机器学习算法:k近邻法

    基于李航教授的<统计学习方法>,本博客为个人学习笔记. 只记录精华,不讲废话,让看过或没看过的你和我短时间重新领悟该方法. k近邻法(knn)与k-means的比较: 两者共同点: 1.k ...

  6. 机器学习(二):k近邻法(kNN)

    引言 一.k近邻法的三要素 1.距离度量 2.k值的选择 3.分类决策规则 二.k近邻算法及代码实现(python) 1.算法 2.代码实现(python) 三.k近邻法的实现:kd树 1.构造kd树 ...

  7. R语言机器学习(1)-R的近邻分析—K近邻法

    转载请注明出处:https://blog.csdn.net/xiezhiliang22 对应书籍:<R数据挖掘>薛薇 中国人民大学出版社 1 前言 下面这几个部分主要讲述如何使用R语言来实 ...

  8. 机器学习:K近邻算法

    一.K-近邻算法简介 1 什么是K-近邻算法 根据你的"邻居"来推断出你的类别 1.1 K-近邻算法(KNN)概念 K Nearest Neighbor算法又叫KNN算法,这个算法 ...

  9. 【机器学习】《统计学习方法》学习笔记 第三章 k近邻法

    第三章 k k k 近邻法(KNN) 多分类模型,思路是将最近的 N N N 个邻居的分类值中的多数作为自己的分类值.没有显式的学习过程. 三个基本要素:距离度量. k k k 值选择和分类决策规则. ...

最新文章

  1. AI 盯上了外包司机,看后视镜就被扣分,奖金拜拜!
  2. python支持向量机框架_Netflix 内部 Python 框架 Metaflow 正式开源,可加速机器学习模型部署...
  3. linux c/c++ 文件是否存在
  4. 网站架构相关PPT、文章整理
  5. 25大技术主题向您发出最后一次约【惠】邀请
  6. linux升级tls,为CentOS升级OpenSSL 让Nginx支持TLS 1.2
  7. multisim中轻触开关在哪_现货供应轻触开关|品质确保|厂家直销
  8. bitcoin转账api,python2.7
  9. 程序员!别逼自己刷题了!每天花10分钟做这件事,编程能力暴增!
  10. SlickEdit基本设置
  11. 数据库时间相减_SQL 日期相减(间隔)datediff函数,
  12. c# 获取照片的经纬度和时间
  13. Linux下如何创建和取消软连接
  14. Spring IoC是什么
  15. 走进Linux操作系统世界
  16. 2014年6月份第1周51Aspx源码发布详情
  17. OPPO推出免费商用字体:OPPO Sans
  18. 动态库装载及 dlsym的RTLD_NEXT参数详解
  19. Arduino学习笔记(1):太极创客 第一部分
  20. java代码开发的通用规范

热门文章

  1. TypeScript入门教程 之 Promise
  2. How to Install Snapd and Snap applications on CentOS 7
  3. 容器编排技术 -- Kubernetes 使用Service暴露应用
  4. java判断字符串中是否含有某个字符串
  5. LayoutInflater.inflate()方法两个参数和三个参数
  6. C#LeetCode刷题之#590-N叉树的后序遍历(N-ary Tree Postorder Traversal)
  7. 算法训练营 重编码_关于如何在没有训练营的情况下学习编码的10条提示
  8. 如何简化React应用程序中的状态-轻松实现Redux
  9. git 初始化git存储库_什么不保存到Git存储库中
  10. des加密的c语言程序,C++中四种加密算法之DES源代码