一:作业题目
原生python实现knn分类算法(鸢尾花数据集)
二:算法设计
Knn算法的核心思想:一个样本x与样本集中的k个最相邻的样本中的大多数属于某一个类别yLabel,那么该样本x也属于类别yLabel,并具有这个类别样本的特性。简而言之,一个样本与数据集中的k个最相邻样本中的大多数的类别相同。由其思想可以看出,KNN是通过测量不同特征值之间的距离进行分类,而且在决策样本类别时,只参考样本周围k个“邻居”样本的所属类别。因此比较适合处理样本集存在较多重叠的场景,主要用于聚类分析、预测分析、文本分类、降维等,也常被认为是简单数据挖掘算法的分类技术之一。
在确定训练集是,就要确定训练数据及其对应的类别标签;然后把待分类的测试数据与训练集数据依次进行特征比较;从训练集中挑选出最相近的k个数据,这k个数据中投票最多的分类,即为新样本的类别。
空间距离采用“欧式距离”进行计算,表达式如下:

Knn算法流程图:

Knn算法的优点
(1)理论成熟简单,易于理解及算法实现;
(2) 可以用于多分类分类、回归等;
缺点

本文介绍了如何使用原生Python实现K近邻(KNN)分类算法,以鸢尾花数据集为例。KNN算法的核心是计算样本间的欧式距离,选取最近的k个邻居进行类别投票。文章展示了算法的设计、优点与缺点,以及完整的Python代码实现,包括训练、预测和评估。在实验中,通过调整k值,得到了测试集的正确率。
最低0.47元/天 解锁文章
4990

被折叠的 条评论
为什么被折叠?



