• 题目

原生python实现knn分类算法,用鸢尾花数据集。

  • 题目分析

KNN算法:

  1. 准备数据:来源百度下载鸢尾花数据集,共150组数据,将数据分为训练数据和测试数据,训练数据为120组,测试数据为30组。(KNN算法中训练集与测试集的比例应为0.74:0.25)。
  2. 设置特征数据和标签:花萼长度、花萼宽度、花瓣长度、花瓣宽度作为特征数据,鸢尾花种类为标签
  3. 设置邻居个数
  4. 选择距离的计算方式(采用欧几里得距离)
  5. 遍历进行求解距离(测试数据与训练数据之间的距离)
  6. 对每个测试数据求得的距离数据进行排序,按照邻居个数进行选择邻居,即选择距离最小的几个邻居。
  7. 预测结果,与其真实类别进行比较,计算准确率
  • 算法设计

对数据的处理:

训练数据的处理:(测试数据同训练数据的处理方法)

对数据按行处理,去空格并按“,”将数据进行分割,前四列为特征数据,第五列为标签即鸢尾花的类别,使用了np.zeros(shape, dtype=float, order='C')返回:返回来一个给定形状和类型的用0填充的数组;

利用欧几里得公式计算测试机与训练集函数之间的距离

欧几里得距离:

对邻居的选择:

对每个测试数据求得的距离进行排序,选择距离最小的k 个邻居

对邻居的预测类别进行分类,得出预测结果

计算预测的正确率,即判断预测结果与实际类别是否相同

  • 运行结果

  • 总结

这次编程首先学习了对文本文件的处理,文本的读入,对数据的处理在这块卡了很久,后来是在一个博客里面看到的文本数据的处理方式,将数据进行分割,了解到了zeros()函数,使用的很僵硬,数据处理结束就是对KNN算法的设计了,该算法主要是距离的求解方法和邻居个数的选择,在求解距离时复习了距离的求解方法,在此采用的欧几里得距离,使用sort()函数对距离进行排序,按距离最小选择邻居,进行预测类别和真实类别的比较得出准确率。在此次编程时还学习了python中函数的使用,将每一个功能分别用函数的方式进行呈现。

KNN算法实现鸢尾花的分类相关推荐

  1. KNN算法实现鸢尾花数据集分类

    KNN算法实现鸢尾花数据集分类 作者介绍 数据集介绍 KNN算法介绍 用KNN实现鸢尾花分类 作者介绍 乔冠华,女,西安工程大学电子信息学院,2020级硕士研究生,张宏伟人工智能课题组. 研究方向:机 ...

  2. 用python实现KNN算法对鸢尾花的分类

    一.KNN算法 邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一.所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接 ...

  3. 【基础机器学习算法原理与实现】使用感知器算法LDA、最小二乘法LSM、Fisher线性判别分析与KNN算法实现鸢尾花数据集的二分类问题

    本文设计并实现了PerceptronLA.PseudoIA.LeastSM.LinearDA.KNN等五个算法类,以及DataProcessor的数据处理类.对感知器算法LDA.最小二乘法LSM的伪逆 ...

  4. KNN算法解决鸢尾花分类案例

    KNN算法解决鸢尾花分类案例 本文分别通过KNN底层算法实现和sklearn中的KNeighbors Classifier(K近邻分类模拟)和对3中不同的鸢尾花的分类. 一.K近邻(KNN)算法介绍 ...

  5. Knn算法实现鸢尾花分类

    文章目录 前言 引例 KNN算法实现鸢尾花分类 1获取数据 2划分数据集 3特征工程:标准化数据 4模型训练 5模型评估 总结 前言 近朱者赤近墨者黑,物以类聚人以群分.KNN算法就是计算和别人和自己 ...

  6. 使用KNN算法对鸢尾花种类预测

    使用KNN算法对鸢尾花种类预测 一. 数据集介绍 1.1 小数据集获取 load_* 1.2 大数据集获取 fetch_* 1.3 查看数据分布 seaborn画图的 二. 数据集的划分 三. 特征工 ...

  7. 机器学习:KNN算法对鸢尾花进行分类

    机器学习:KNN算法对鸢尾花进行分类 1.KNN算法的理解: 1.算法概述 KNN(K-NearestNeighbor)算法经常用来解决分类与回归问题, KNN算法的原理可以总结为"近朱者赤 ...

  8. k近邻算法_K近邻(knn)算法是如何完成分类的?

    摘要:K近邻算法是机器学习中的一个非常基础的算法.本文通过自生成数据,通过绘图的方式演示KNN算法的思路,让你不看数学公式就看了解什么是KNN算法. 关键词:KNN算法 1 生成一个二分类的数据集 本 ...

  9. KNN算法(附鸢尾花分类实现)

    ​ 1.k近邻算法 k近邻学习(K-Nearest Neighbor,简称KNN)学习是一种常用的监督学习方法,其工作机制非常简单:给定测试样本,基于某种距离度量找出训练集中与其距离最近的k个样本,然 ...

最新文章

  1. TCP/IP详解--第七章
  2. 开发工具 | git、github使用场景总结
  3. mina应用程序架构(翻译)
  4. C#刷遍Leetcode面试题系列连载(4): No.633 - 平方数之和
  5. 用python将指定目录下的所有json文件合并成一个csv文件
  6. 机器学习之Stacking原理与实战
  7. Python---String 字符串类型
  8. RN react-navigation使用
  9. 在VS中查看MSI项目的Product Code
  10. Android使用adb命令
  11. c++ qt5范例开发大全_237页建设工程监理内业资料全套范例,附百份案例表格,快拿走...
  12. 如何用iMazing Profile Editor编辑配置文件
  13. 给MDK5/KEIL5安装51/ARM编译坏境
  14. 计算机管理打不开路径不存在,电脑打不开软件提示路径不正确如何解决
  15. 开机动画适配方案_修改开机动画教程
  16. pvp服务器有什么项目,N服PVP服率先回归!压测后未来3-4周正式开服
  17. C语言实现关机的小代码,不怎么完善,新人勿喷!
  18. 小游戏------扫雷
  19. 操作系统概论【引入操作系统中的基本概念和操作】
  20. java中library找不到了,java web 找不到java.library.path途径

热门文章

  1. php vip卡,vip.php
  2. Iphone6/6s刷机常见问题
  3. 计算机网络是主要的功能在于,计算机网络最基本功能之一是()。
  4. python连续输入直到回车退出_详解Python实现按任意键继续/退出的功能
  5. jquery手写table行列自动计算(自动计算小计和合计)
  6. STM32使能/屏蔽外部中断
  7. 极光推送完整流程测试
  8. Java下载文件时文件名中的中文变成下划线,其他正常
  9. 在osgEarth中添加模型的简单示例
  10. 计算机主板测试配件,如何检测主板是否有问题_如何诊断主板是否损坏,没有图形步骤...