(一)算法思想

  • 最近邻法

Cover, Hart, 1968年提出,非参数法中最重要的方法之一;

基本思想:分段线性判别的极端情况,计算测试样本与 “代表点”,即所有训练样本的距离,并以最近邻者的类别作为决策。

决策规则
  • KNN(K-近邻法)

最近邻的发展,与最近邻类似,即找测试样本的K个最近样本,K个样本中哪个类所占个数最多即判断测试样本为那一类。决策规则:

k-近邻法

注:k近邻一般采用k为奇数,跟投票表决一样,避免因两种票数相等而难以决策。

(二)算法步骤

1.计算距离

2.按照距离远近排序

3.选取与当前测试对象最近的K个训练对象

4.统计3步骤中K个对象的类别频率

5.K个对象中频率最高的类别,即为测试对象的类别

注:

1)常用计算距离的方法:欧几里得距离、曼哈顿距离和马氏距离

2)k近邻一般采用k为奇数(跟投票表决一样,避免因两种票数相等而难以决策),且K值得设定一般低于样本数量的平方根。

(三)算法难点-选择合适的K

1.K的选取

  • K太大:导致分类模糊
  • K太小:受各例影响,波动较大

2.如何选取K

  • 经验
  • 均方根误差
  • 交叉验证(Cross Validation)(注:千万 不能用测试数据来调参)

(四)算法优缺点

1、优点

非常简单的分类算法没有之一,人性化,易于理解,易于实现

适合处理多分类问题,比如推荐用户

比较适合应用在低维空间

2、缺点

时间复杂度较高,因为需要计算未知样本到所有已知样本的距离

样本平衡度依赖高,当出现极端情况样本不平衡时,分类会出现偏差

可解释性差,无法给出类似决策树那样的规则 向量的维度越高,距离的区分能力就越弱。

贪心学院 - 做在线教育领域的MIT, 立志于培养最顶级的工程师​www.greedyai.com

python代码实现:GreedyAIAcademy/Machine-Learning

k折交叉验证优缺点_K最近邻(KNN)算法相关推荐

  1. k折交叉验证优缺点_k折交叉验证(R语言)

    "机器学习中需要把数据分为训练集和测试集,因此如何划分训练集和测试集就成为影响模型效果的重要因素.本文介绍一种常用的划分最优训练集和测试集的方法--k折交叉验证." k折交叉验证 ...

  2. k折交叉验证优缺点_R语言中K邻近算法的初学者指南:从菜鸟到大神(附代码&链接)...

    作者:Leihua Ye, UC Santa Barbara 翻译:陈超 校对:冯羽 本文约2300字,建议阅读10分钟 本文介绍了一种针对初学者的K临近算法在R语言中的实现方法. 本文呈现了一种在R ...

  3. k折交叉验证优缺点_都说K折交叉验证最常见,你会做吗?

    在临床研究领域,大家特别希望能够未仆先知,于是临床研究者尝试去建立各种预测模型.比如,凭借孕妇的信息预测低出生体重儿的结局.怎么建立预测模型呢?常见的做法是这样的:以低出生体重儿为因变量,以相关的孕妇 ...

  4. k折交叉验证python代码_K折交叉验证法原理及python实现

    本文为原创文章,转载请注明出处! 在训练数据的过程或者参加数据比赛的时候,常常会遇到数据量不够大的情况,在一次比赛过程我学到一个小技巧-K折交叉验证法(k-fold CrossValidation), ...

  5. 机器学习--K折交叉验证(K-fold cross validation)

    K 折交叉验证(K-flod cross validation) 当样本数据不充足时,为了选择更好的模型,可以采用交叉验证方法. 基本思想:把给定的数据进行划分,将划分得到的数据集组合为训练集与测试集 ...

  6. python k折交叉验证,python中sklearnk折交叉验证

    python中sklearnk折交叉验证 发布时间:2018-06-10 11:09, 浏览次数:492 , 标签: python sklearnk 1.模型验证回顾 进行模型验证的一个重要目的是要选 ...

  7. 参数调优:K折交叉验证与GridSearch网格搜索

    本文代码及数据集来自<Python大数据分析与机器学习商业案例实战> 一.K折交叉验证 在机器学习中,因为训练集和测试集的数据划分是随机的,所以有时会重复地使用数据,以便更好地评估模型的有 ...

  8. 机器学习基础|K折交叉验证与超参数搜索

    文章目录 交叉验证 交叉验证的概念 K的取值 为什么要用K折交叉验证 Sklearn交叉验证API 超参数搜索 超参数的概念 超参数搜索的概念 超参数搜索的原理 Sklearn超参数搜索API 实例 ...

  9. 5折交叉验证_[Machine Learning] 模型评估——交叉验证/K折交叉验证

    首先区分两个概念:'模型评估' 与 '模型性能度量' 模型评估:这里强调的是如何划分和利用数据,对模型学习能力的评估,重点在数据的划分方法. Keywords: 划分.利用数据 模型性能度量:是在研究 ...

最新文章

  1. 读书:一百个 终身受益的 思维模型(持续更新)
  2. SAP SD基础知识之信用风险管理概述
  3. Latex 实时排版工具
  4. 2021年最后几天,使用SSM实现网上购物商城系统
  5. MVC3 ActionResult 返回类型
  6. Java如何解决mysql读写延迟_java中延迟任务的处理方式
  7. jQuery——插入元素节点的方法
  8. 漫游飞行_魔兽世界:德拉诺时光周 冲声望解锁德拉诺飞行好时机
  9. 连续四年百度Android岗必问面试题!Android校招面试指南
  10. Python 基础知识(二)
  11. 如何在WP-Config中设置WordPress错误日志
  12. 每天进步一点点《ML - 从极大似然到EM算法》
  13. 电商商城系统活动设计
  14. Spring 配置文件加载原理
  15. UDP通信的简单实现(程序)
  16. 光模块测试CEI-28G-VSR 浅析1---背景基础介绍
  17. GPA计算器雏形--
  18. 舆情分析报告写作的架构与方法|下
  19. linux mysql changed limits_ubuntu下mysql提示Changed limits: max_open_files:1024解决办法
  20. 海思Hi3519AV100深度学习方案(一)darknet转caffmodel之caffe安装(基于Ubuntu16.04+python3.5+opencv3.4.0+cuda10.0)

热门文章

  1. “Replit 威胁我,要求我关闭我的开源项目!”
  2. 职业发展加速器,埃森哲智能云服务创新中心热招云人才
  3. 已被骗数百万美金!App Store 中诈骗应用横行,网友:“苹果只顾抽成!”
  4. 火山引擎智能容器云 veCompass v3.0 重磅发布!
  5. AI 实战:GPS实景识别网络项目(源码共享)
  6. 第二十二届中国科协年会开幕,百度CTO王海峰等共话产业发展机遇
  7. A 股暴跌,户均亏 2 万!刚写好的辞职信又撕了……
  8. 情人节脱单秘诀,程序员表白的情话大盘点!| CSDN 博文精选
  9. 计算机编程的 20 年变迁!
  10. 软件测试的出路到底在哪?