| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> kNN算法(k近邻算法,k Nearest Neighbor) -> 正文阅读 |
|
[数据结构与算法]kNN算法(k近邻算法,k Nearest Neighbor) |
主要内容: 1.认识kNN算法 2.kNN算法原理 3.应用举例 4.kNN改进方法 1.认识knn算法????????“看一个人怎么样,看他身边的朋友什么样就知道了”,kNN算法即寻找最近的K个数据,推测新数据的分类。 ????????kNN算法可以说是最简单的分类算法之一,也是最常用的分类算法之一。 ? ? ? ? 特点 ? ? ? ? ? ? ? ? kNN是一种非参的,惰性的算法模型。 ? ? ? ? ? ? ? ? 非参即这个模型不会对数据做出任何的假设,与之相对的是线性回归(总假设线性回归是一条直线)。也就是说kNN建立的模型结构是根据数据来决定的,比较符合现实的情况。 ? ? ? ? ? ? ? ? 惰性即kNN算法不需要对数据进行大量训练,没有明确的训练数据过程,或者说这个过程很快。同样是分类算法,逻辑回归要先对数据进行大量训练,最后才会得到一个算法模型。 ????????????????较其他算法更为适合:① 计算复杂性高,空间复杂性高;②样本不平衡的时候,对稀有类别的预测准确率低;③ 可解释性差,无法给出决策树那样的规则。 ? ? ? ? kNN优点 ? ? ? ? ? ? ? ? (1).简单易用,相比其他算法,比较简洁明了,即使没有很高的数学基础也能搞清楚原理 ? ? ? ? ? ? ? ? (2).模型训练时间快(上面说到KNN算法是惰性的,这里也就不再过多讲述) ? ? ? ? ? ? ? ? (3).预测效果好 ? ? ? ? ? ? ? ? (4).对异常值不敏感 ? ? ? ? kNN缺点 ? ? ? ? ? ? ? ? (1).对内存要求较高,因为该算法存储了所有训练数据 ? ? ? ? ? ? ? ? (2).预测阶段可能很慢 ? ? ? ? ? ? ? ? (3).对不相关的功能和数据规模敏感 2.kNN算法原理????????给定一个训练数据集,对新的的输入实例,在训练数据集中找到与该实例最邻近的的K个实例,这K个实例的多数属于某个类,就把该实例分为这个类。 ????????K值选择、距离度量、分类决策(一般多数表决)为k近邻算法的三个基本要素。 ? ? ? ? (1).通用步骤 ? ? ? ? ? ? ? ? 计算距离(常用欧几里得距离或马氏距离) ? ? ? ? ? ? ? ? 升序排列 ? ? ? ? ? ? ? ? 取前K个 ? ? ? ? ? ? ? ? 加权平均 ????????(2).距离度量 ? ? ? ? (3).K的选取 ????????????????K太大:导致分类模糊 ????????????????如何选取K:经验、均方根误差 3.应用举例(癌症检测)????????数据集来源: ????????????????链接:https://pan.baidu.com/s/10GrGydkzfTmlmPmxURdWqg? ????????代码:?
?????????运行结果:
?4.kNN改进方法????????(1).不同的K值加权; ? ? ? ? (2).距离度量据实际问题,使用不同距离; ? ? ? ? (3).特征归一化; ? ? ? ? (4).维数过大,PCA降维处理。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/29 8:27:14- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |