题目描述与要求
(1)题目描述:
请使用sklearn内置数据集进行KNN算法分类。
(2)题目要求:
① 导入内置数据集模块。(5分)
② 导入sklearn.neighbors模块中KNN类。(5分)
③ 设置随机种子。(5分)
④ 导入鸢尾花的数据集。(5分)
⑤ 获取样本数据和数据标签,其中样本数据是150*4二维数据,代表150个样本,每个样本有4个属性分别为花瓣和花萼的长、宽。(5分)
⑥ 使用np.random.permutation()方法将样本数据随机打乱,该方法接受的参数为:样本数据长度。(5分)
⑦ 随机选取140个样本作为训练数据集,并且选取这140个样本的标签作为训练数据集的标签。(5分)
⑧ 将剩下的10个样本作为测试数据集,并且把剩下10个样本对应标签作为测试数据及的标签。(5分)
⑨ 定义一个knn分类器对象,并调用该对象的训练方法,主要接收两个参数:训练数据集及其样本标签。(5分)
⑩ 计算各测试样本基于概率的预测。(5分)
⑪ 计算与最后一个测试样本距离在最近的5个点,返回的是这些样本的序号组成的数组。(5分)
⑫ 调用该对象的打分方法,计算出准确率。(5分)
⑬ 输出测试的结果。(5分)
⑭ 输出原始测试数据集的正确标签,以方便对比。(5分)
⑮ 输出准确率计算结果。(5分)
代码实现
'''
请使用sklearn内置数据集进行KNN算法分类。
'''
from sklearn.datasets import load_iris
from skl