码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • matlab knn方法快速实现,手把手教学


    目录

    • 介绍
    • 话不多说,进入实战
    • 注意事项
    • KNN算法的优势和劣势

    介绍

    1968年,Cover和Hart提出K近邻算法。该算法既可以用于回归也可以用于分类,其用于分类时其输入为实例的特征向量,输出为实例的类别。假设给定一个训练数据集,其中实例类别已知。度量每个样本点到其他样本点的距离,选择其中K个距离最近的样本点,按照多数表决原则对新的实例进行分类。

    KNN的全称是K Nearest Neighbors,意思是K个最近的邻居,从这个名字我们就能看出一些KNN算法的蛛丝马迹了。K个最近邻居,毫无疑问,K的取值肯定是至关重要的。那么最近的邻居又是怎么回事呢?其实啊,KNN的原理就是当预测一个新的值x的时候,根据它距离最近的K个点是什么类别来判断x属于哪个类别。

    我们知道K的取值比较重要,那么该如何确定K取多少值好呢?答案是通过交叉验证(将样本数据按照一定比例,拆分出训练用的数据和验证用的数据,比如6:4拆分出部分训练数据和验证数据),从选取一个较小的K值开始,不断增加K的值,然后计算验证集合的方差,最终找到一个比较合适的K值。

    话不多说,进入实战

    • knn的matlab实验【使用UCI数据集】

    首先加载数据

    load fisheriris
    X = meas;
    Y = species;
    
    • 1
    • 2
    • 3

    之后直接上内置函数

    mdl = fitcknn(X,Y,'NumNeighbors',5,'Standardize',1);
    
    • 1

    这样就获得了KNN模型

    下一步,就可以直接使用了

    Xnew = [min(X);mean(X);max(X)];
    [label,score,cost] = predict(mdl,Xnew)
    
    • 1
    • 2

    这样便得到了结果

    在这里插入图片描述

    注意事项

    训练和测试之前需要对数据标准化、归一化处理,不然可能结果无法达到预期。

    KNN算法的优势和劣势

    了解KNN算法的优势和劣势,可以帮助我们在选择学习算法的时候做出更加明智的决定。那我们就来看看KNN算法都有哪些优势以及其缺陷所在!

    1. KNN算法优点

    简单易用,相比其他算法,KNN算是比较简洁明了的算法。即使没有很高的数学基础也能搞清楚它的原理。

    模型训练时间快,上面说到KNN算法是惰性的,这里也就不再过多讲述。
    预测效果好。

    对异常值不敏感这里是引用

    1. KNN算法缺点

    对内存要求较高,因为该算法存储了所有训练数据

    预测阶段可能很慢

    对不相关的功能和数据规模敏感

  • 相关阅读:
    【Mysql】表的约束
    【计算机网络】HTTP协议详解
    详解FreeRTOS:FreeRTOS任务创建过程源码分析(进阶篇—1)
    设计模式——策略模式
    电子学会2022年6月青少年软件编程(图形化)等级考试试卷(三级)答案解析
    R语言glm函数构建二分类logistic回归模型(family参数为binomial)、使用AIC函数比较两个模型的AIC值的差异(简单模型和复杂模型)
    redis的实际使用
    计算机毕业设计(附源码)python租车信息管理系统
    Docker极简入门:使用Docker-Compose 运行网站浏览量统计Demo
    eyb:创建邮件发送消息到员工账套功能实现(五)
  • 原文地址:https://blog.csdn.net/weixin_39490300/article/details/128201447
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号