利用Python实现KNN算法,完成鸢尾花分类任务,实现步骤:
1. 数据集的准备。
(1)使用SCIKIT-LEARN的自带的鸢尾花数据集,获取数据集的后两个特征,形成原始数据集D。
(2)待决策样本集D1的产生:在原始二维特征空间,基于该数据集的两种特征取值的最小值、最大值,获取该数据集的矩形包围盒,并在该的矩形区域上下左右各个方向扩充1的基础上,以step=0.02为两种特征的采样间隔,在该矩形区域等间隔抽取离散位置,构成原始待决策的样本集D1。
(3)训练集与测试集的产生:将原始数据集D按照类别分层随机打乱,以hold-out方式划分为训练集(80%),以及测试集(20%)
2. 模型的选择
训练集的规范化预处理,并记录预处理使用的参数。
3. 基于测试集的K-近邻分类模型的评价。
(1)对测试集的每个样本进行预处理;
(2)基于K值优选结果(或你设定的K值),对预处理之后的每个测试样本进行类别预测,得到所有测试样本的类别预测结果。
(3)结合测试集各样本的类别预测结果及真实类别答案,生成混淆矩阵,并可视化混淆矩阵
....
4.K-近邻分类模型的使用。
.....