【C0028】KNN分类

管理科学
机器学习与深度学习
Python
时间图标 2026-03-09
中级

KNN 分类简介

什么是 KNN?

K-近邻算法(K-Nearest Neighbors, KNN)是一种基本的分类与回归方法。在分类任务中,它的核心思想是:如果一个样本在特征空间中的 $k$ 个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别。

算法原理

  1. 计算距离:对于给定的测试样本,计算它与训练集中所有样本的距离(常用欧氏距离)。
  2. 寻找邻居:选取距离最小的 $k$ 个样本。
  3. 投票决策:统计这 $k$ 个样本中出现频率最高的类别,作为测试样本的预测类别。

优缺点

  • 优点
    • 简单易懂,无需估计参数或进行训练(懒惰学习)。
    • 适合类域交叉或重叠较多的样本。
  • 缺点
    • 计算量大,尤其是当训练集很大时。
    • 对不平衡样本敏感。
    • 需要预先确定 $k$ 值。

本代码说明

本示例使用 Python 的 scikit-learn 库,基于经典的鸢尾花(Iris)数据集演示 KNN 分类流程,包括数据加载、划分、模型训练、评估及单样本预测。

下载代码
兑换码获取图标 兑换码获取
文件名称: C0028.zip
文件大小: 0MB
更新时间: 2026-03-09