python实现knn算法,使用鸢尾花数据集

本文介绍了如何用原生Python代码实现KNN分类算法,并以鸢尾花数据集为例进行实践。主要步骤包括:处理数据、计算相似度(欧式距离)、确定最近邻、生成预测结果及评估准确度。尽管算法计算量大,但对于大样本量的分类效果较好。通过Anaconda可以便捷地获取数据集,但整个过程仍具挑战性。
摘要由CSDN通过智能技术生成

题目:

用原生python 代码实现KNN分类,采用鸢尾花数据集。

KNN算法

kNN算法的核心思想是如果一个样 本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别

思路:

  1. 处理数据:从CSV中读取数据,并把它们分割成训练数据集和测试数据集。(之前用的csv,后来直接导包使用了sklearn.datasets获取了鸢尾花数据集)
  2. 相似度:计算两个数据实例之间的距离。(我们可以直接使用欧式距离来测量。欧式距离就是两列数中对应数做差的平方和,之后再开方。)
  3. 临近:确定最相近的N个实例。
  4. 结果:从这些实力中生成预测结果。
  5. 准确度:总结预测的准确度。(一个简单的评估方法是,计算在测试数据集中算法正确预测的比例,这个比例叫分类准确度)
  6. 主程序:把这些串起来

流程图

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值