题目 基于
KNN
算法识别水果种类系统的设计与实现
1
.
1
题目的主要研究内容
(1) 工作的主要描述
本报告设计了基于 KNN 算法识别水果种类系统的设计与实现,在 PyCharm
编译器上,使用 python 语言,对水果数据集进行了分类。设计的系统能够对水
果数据集进行分类并计算得到其分类的准确率,还能对其数据信息进行可视化分
析研究。
(2) KNN 算法原理
K-Nearest Neighbor(KNN)算法即 K 近邻算法,是机器学习中的一种分类算
法。KNN 算法基本原理为:通过对比待分类点在特定距离 K 内各分类的样本点
的数量,来确定待分类点的预测结果。
如图所示,某待确定蓝点落在如果所示的位置上:
待确定蓝点在
k=1
的距离范围内,被标记为
class1 的样本点的数量为 1,被标记为 class2 的样
本点的数量为
0
,因此待确定蓝点会被归类为
class1;待确定蓝点在 k=3 的距离范围内,被标
记为
class1
的样本点的数量为
4
,被标记为
class2
的样本点的数量为 5,因此待确定蓝点会被归类
为
class2
。
(3) 选用距离公式
KNN 常用使用欧式距离、曼哈顿距离、切比雪夫距离和闵可夫斯基距离作
为距离测定函数,在平时的使用中欧式距离与曼哈顿距离则更为常用一些。本系
统设计所使用的是就是欧式距离公式。
欧式距离
(Euclidean Distance)
:
n
i
iiyx
yx
1
2
,
d
)(
(4) K 值的选取
K 值在 KNN 模型中是一个超参数,需要人为为其设定大小,K 值不宜取得
过大,也不宜取得过小。当 K 取值过小时,就意味着整体模型变得复杂,容易
发生过拟合;当 K 取值过大时,就意味着整体的模型变简单,容易发生欠拟合。