KNN分类分析结果解读
KNN(K-Nearest Neighbors,K近邻)算法是一种基于实例的惰性学习方法,其基本思想是在特征空间中寻找待分类样本最近的K个已知类别样本,根据这K个邻居的多数类别来决定待分类样本的归属。KNN算法不需要显式的训练过程,分类决策完全依赖于邻近样本的投票结果,因此被称为"惰性学习"。该算法简单直观,适用于非线性分类,但计算开销较大,且对K值的选择和距离度量方式较为敏感。本研究基于SPSSAU平台,采用KNN算法对鸢尾花数据集进行三分类建模分析。
在SPSSAU【机器学习】模块选择【KNN】,将变量拖拽至右侧对应分析框,操作如下图:
一、数据基本信息
本次分析采用鸢尾花(Iris)数据集,共包含150个样本,分为刚毛鸢尾花(A)、变色鸢尾花(B)和弗吉尼亚鸢尾花(C)三类,每类各50个样本,各占33.333%。自变量为X1、X2、X3、X4四个特征指标,因变量Y为鸢尾花类别。数据集无缺失值,三类样本完全均衡,适合进行KNN分类建模。
从表1可以看出,150个样本全部有效,三类鸢尾花各50个,类别分布完全均衡,为KNN模型的评估提供了良好的数据基础。
二、特征权重分析
从表2特征权重可以看出,各特征对KNN模型分类的贡献差异显著。X3的权重最高,达到84.88%,是模型分类的绝对核心特征,表明花瓣长度是区分三类鸢尾花最重要的指标;X2的权重为8.14%,X4的权重为6.98%,两者对分类有一定的辅助作用;X1的权重为0.00%,表明花萼长度在KNN分类中未产生实质性贡献。X3单独贡献了模型近85%的分类能力,这与鸢尾花数据本身的分布特征一致。
三、模型评估结果
数据集按8:2的比例划分为训练集(120个样本)和测试集(30个样本),数据经过正态标准化处理后进行KNN建模。
从表3训练集评估结果来看,KNN模型整体准确率为96.7%,综合f1-score为0.967,表现优异。刚毛鸢尾花(A)的精确率、召回率和f1-score均为1.000,实现完美分类;变色鸢尾花(B)的精确率和召回率均为0.946、f1-score为0.946,有少量样本被误判;弗吉尼亚鸢尾花(C)的精确率和召回率均为0.955、f1-score为0.955,分类效果较好。三个类别的f1-score较为均衡,说明KNN模型对各类别的分类能力较为一致。
从表4测试集评估结果来看,KNN模型在测试集上的整体准确率为93.33%,综合精确率为95.00%,综合召回率为93.33%,综合f1-score为0.935,模型效果较优。刚毛鸢尾花(A)继续保持完美分类(精确率和召回率均为1.000);变色鸢尾花(B)精确率为1.000但召回率为0.846,有2个B类样本被误判为其他类别;弗吉尼亚鸢尾花(C)精确率为0.750、召回率为1.000,所有C类样本均被正确识别,但有1个非C类样本被误判为C类。测试集准确率(93.33%)较训练集(96.7%)有所下降,但降幅不大,模型泛化能力较好。
四、图形分析
图1 KNN分类结果图
从图1可以看出,KNN模型对鸢尾花三类样本的分类效果整体较好。图中展示了各样本在特征空间中的分布及KNN的分类决策区域。刚毛鸢尾花(A)与其他两类之间具有清晰的分类边界,变色鸢尾花(B)和弗吉尼亚鸢尾花(C)之间存在一定的重叠区域,这与测试集中B类和C类出现误判的结果一致。KNN通过欧式距离度量样本间的相似性,在正态标准化处理后,各特征对距离计算的贡献更加合理,有效提升了分类效果。
五、模型参数设置与数据集划分
从表5可以看出,本次KNN分析设置K值为5,即每个待分类样本参考其最近的5个邻居进行投票决策。样本投票权重采用等比投票权,距离计算使用欧式距离,邻近搜索方法为自动方式(auto)。数据经过正态标准化预处理,以消除不同特征量纲差异对距离计算的影响。模型最终在测试集上的准确率为93.33%,综合f1-score为0.935。
从表6可以看出,150个样本中120个(80%)分配至训练集,30个(20%)分配至测试集,无预测集和缺失数据。
六、结论
本研究利用SPSSAU平台采用KNN算法对150个鸢尾花样本进行三分类建模分析,设置K=5,采用欧式距离和正态标准化预处理。分析结果表明,X3(权重84.88%)是鸢尾花分类最重要的特征,X2(8.14%)和X4(6.98%)次之,X1未产生实质贡献(0.00%)。模型在测试集上的准确率为93.33%,综合f1-score为0.935,整体分类效果较优。刚毛鸢尾花在训练集和测试集上均实现完美分类,变色鸢尾花和弗吉尼亚鸢尾花在边界区域存在少量误判。KNN算法以其简洁的"近朱者赤"分类逻辑,在鸢尾花数据上取得了令人满意的分类效果。