栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

机器学习之KNN最邻近分类算法入门思维导图,果断收藏

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

机器学习之KNN最邻近分类算法入门思维导图,果断收藏

人工智能学习路径

第一章 全网最详细的Python入门思维导图,果断收藏
第二章 Python桌面应用开发(PyQT)入门思维导图,果断收藏
第三章 Python数据分析(Numpy和Pandas学习)入门思维导图,果断收藏
第四章 Python人工智能概念之机器学习基础入门思维导图,果断收藏
第五章 机器学习之KNN最邻近分类算法入门思维导图,果断收藏


文章目录
  • 人工智能学习路径
  • KNN算法简介
  • 一、KNN算法入门思维导图
  • 二、KNN学习优缺点
  • 三、kNN算法步骤
  • 四、KNN应用分析
  • 总结


KNN算法简介

KNN(K-Nearest Neighbor)最邻近分类算法是数据挖掘分类(classification)技术中最简单的算法之一,其指导思想是”近朱者赤,近墨者黑“,即由你的邻居来推断出你的类别。

KNN的核心思想是先计算每个样本与单个特征空间上的距离(距离可有欧式距离、曼哈顿距离、马氏距离等),再找出与每个样本距离最近的k个点,最后将其归类为k个邻居中类别最多的那一类;

适用场景:一般多用于分类任务,也可用来处理回归任务。


一、KNN算法入门思维导图

二、KNN学习优缺点

优点

  • 原理简单,易于理解;
  • 对异常值不敏感;
  • 对数据的特征类型没有明确的要求;

缺点

  • 样本不平衡问题,容易将样本分入类别中样本较多的那一类;
  • 特征较多时,计算复杂度高,空间复杂度高;
  • 相比决策树,KNN的可解释性不强;

关键点:

  • k值的选取,k值为10以内的奇数(奇数是为了避免出现打成平手的情况),也可以通过交叉验证的方式来选取得到合适的k值。
三、kNN算法步骤
  1. 计算测试数据与各个训练数据之间的距离;
  2. 按照距离递增的顺序进行排序;
  3. 选择距离最近的k个样本数据;
  4. 计算前k个样本所在类别的频率/均值;
  5. 返回前k个样本出现频率最高/(加权)均值作为测试数据的类别/预测值
四、KNN应用分析

假设我们需要对麻雀,鸽子,老鹰三种鸟成年个体进行分类。由于三种鸟具有明显不同的外形特征,那么可以选择外形作为特征,外形特征则可以选取翼展、体重、身高三个维度生成样本数据。
一组假设的样本数据:

归一化以后:

假设某只鸟属于这三种类别中的一种,其体型特征数据为翼展0.4米,体重0.3公斤,身高0.25米,使用KNN算法计算该鸟最可能的类别,经过归一化,这组数据为(0.2,0.06,0.25),通过欧式距离计算这只鸟与其他几个样本的距离:

老鹰=sqrt((0.2-1.0)^2 + (0.06-1.0)^2 + (0.25-1.0)^2)≈1.4443

鸽子=sqrt((0.2-0.25)^2 + (0.06-0.1)^2 + (0.25-0.3)^2)≈0.0812

麻雀=sqrt((0.2-0.1)^2 + (0.06-0.01)^2 + (0.25-0.1)^2)≈0.1871

通过距离比对,这只鸟的特征数据与鸽子距离最近,那么最后的分类结果就是鸽子这个类别。


总结

KNN(K- Nearest Neighbor),即K最邻近算法,是数据挖掘分类技术中最简单的方法之一。简单来说,它是根据“邻近”这一特征来对样本进行分类。导图中使用鸢尾花数据集利用KNN进行分类案例,详细可以参照下面链接

Python matplotlib绘制散点图之基本配置–鸢尾花案例

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/822481.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号