
【C0028】KNN分类
管理科学
机器学习与深度学习
Python
KNN 分类简介
什么是 KNN?
K-近邻算法(K-Nearest Neighbors, KNN)是一种基本的分类与回归方法。在分类任务中,它的核心思想是:如果一个样本在特征空间中的 $k$ 个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别。
算法原理
- 计算距离:对于给定的测试样本,计算它与训练集中所有样本的距离(常用欧氏距离)。
- 寻找邻居:选取距离最小的 $k$ 个样本。
- 投票决策:统计这 $k$ 个样本中出现频率最高的类别,作为测试样本的预测类别。
优缺点
- 优点:
- 简单易懂,无需估计参数或进行训练(懒惰学习)。
- 适合类域交叉或重叠较多的样本。
- 缺点:
- 计算量大,尤其是当训练集很大时。
- 对不平衡样本敏感。
- 需要预先确定 $k$ 值。
本代码说明
本示例使用 Python 的 scikit-learn 库,基于经典的鸢尾花(Iris)数据集演示 KNN 分类流程,包括数据加载、划分、模型训练、评估及单样本预测。