如何用Python实现K近邻法(KNN)?

2026-04-20 09:350阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2886个文字,预计阅读时间需要12分钟。

如何用Python实现K近邻法(KNN)?

1、基本概念+K近邻法(K-nearest neighbors,KNN)可用于分类和回归。KNN的分类和回归区别在于预测时的决策方式。分类时,通常使用多数表决法;回归时,则常用平均法。

1、基本概念

K近邻法(K-nearest neighbors,KNN)既可以分类,也可以回归。

  KNN做回归和分类的区别在于最后预测时的决策方式。

KNN做分类时,一般用多数表决法

KNN做回归时,一般用平均法。

  基本概念如下:对待测实例,在训练数据集中找到与该实例最邻近的K个实例(也就是上面所说的K个邻居), 这K个实例的多数属于某个类,就把该输入实例分类到这个类中

2. KNN算法三要素

  KNN算法主要考虑:k值的选取,距离度量方式,分类决策规则。

1) k值的选取。在应用中,k值一般选择一个比较小的值,一般选用交叉验证来取最优的k值

当K值较小,训练误差减小,泛化误差增大,模型复杂容易过拟合;

当K值较大,泛化误差减小,训练误差增大,模型简单使预测发生错误(一个极端,K等于样本数m,则完全没有分类,此时无论测试集是什么,结果都属于训练集中最多的类)

  2)距离度量。Lp距离:误差绝对值p次方求和再求p次根。欧式距离:p=2的Lp距离。曼哈顿距离:p=1的Lp距离。p为无穷大时,Lp距离为各个维度上距离的最大值
  3)分类决策规则。也就是如何根据k个最近邻决定待测对象的分类。

阅读全文

本文共计2886个文字,预计阅读时间需要12分钟。

如何用Python实现K近邻法(KNN)?

1、基本概念+K近邻法(K-nearest neighbors,KNN)可用于分类和回归。KNN的分类和回归区别在于预测时的决策方式。分类时,通常使用多数表决法;回归时,则常用平均法。

1、基本概念

K近邻法(K-nearest neighbors,KNN)既可以分类,也可以回归。

  KNN做回归和分类的区别在于最后预测时的决策方式。

KNN做分类时,一般用多数表决法

KNN做回归时,一般用平均法。

  基本概念如下:对待测实例,在训练数据集中找到与该实例最邻近的K个实例(也就是上面所说的K个邻居), 这K个实例的多数属于某个类,就把该输入实例分类到这个类中

2. KNN算法三要素

  KNN算法主要考虑:k值的选取,距离度量方式,分类决策规则。

1) k值的选取。在应用中,k值一般选择一个比较小的值,一般选用交叉验证来取最优的k值

当K值较小,训练误差减小,泛化误差增大,模型复杂容易过拟合;

当K值较大,泛化误差减小,训练误差增大,模型简单使预测发生错误(一个极端,K等于样本数m,则完全没有分类,此时无论测试集是什么,结果都属于训练集中最多的类)

  2)距离度量。Lp距离:误差绝对值p次方求和再求p次根。欧式距离:p=2的Lp距离。曼哈顿距离:p=1的Lp距离。p为无穷大时,Lp距离为各个维度上距离的最大值
  3)分类决策规则。也就是如何根据k个最近邻决定待测对象的分类。

阅读全文