ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

KNN近邻算法结果解读:K值选择与分类准确率

KNN近邻算法结果解读:K值选择与分类准确率 KNN分类分析结果解读KNNK-Nearest NeighborsK近邻算法是一种基于实例的惰性学习方法其基本思想是在特征空间中寻找待分类样本最近的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个鸢尾花样本进行三分类建模分析设置K5采用欧式距离和正态标准化预处理。分析结果表明X3权重84.88%是鸢尾花分类最重要的特征X28.14%和X46.98%次之X1未产生实质贡献0.00%。模型在测试集上的准确率为93.33%综合f1-score为0.935整体分类效果较优。刚毛鸢尾花在训练集和测试集上均实现完美分类变色鸢尾花和弗吉尼亚鸢尾花在边界区域存在少量误判。KNN算法以其简洁的近朱者赤分类逻辑在鸢尾花数据上取得了令人满意的分类效果。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进