一、实验要求
原生python实现knn分类算法,用鸢尾花数据集。
二、算法设计
1.KNN算法概述
KNN(K-Nearest Neighbor)工作原理:存在一个样本数据集合,也称为训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据与所属分类对应的关系。输入没有标签的数据后,将新数据中的每个特征与样本集中数据对应的特征进行比较,提取出样本集中特征最相似数据(最近邻)的分类标签。一般来说,我们只选择样本数据集中前k个最相似的数据,这就是k近邻算法中k的出处,通常k是不大于20的整数。最后选择k个最相似数据中出现次数最多的分类作为新数据的分类。
2.算法思路
如果一个样本在特征空间中的k个最邻近的样本中的大多数属于某一个类别,则该样本也划分为这个类别。KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。
3.算法描述
a.采用load_iris读取数据并查看
b.分割数据,产生75%的训练样本,25%的测试样本
c.标准化数据
d.导入K近邻分类模块
e.测试与性能评估,生成评估报告
4.算法流程图:
三、代码实现
#Wanting Wang
#2019.10
from sklearn.datasets import load_iris
from sklear