KNN算法与模子选择及调优

[复制链接]
发表于 2026-2-3 22:57:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
KNN算法-分类

1 样本隔断判定



(1)欧式隔断

欧式隔断(Euclidean distance),也称为欧氏度量,是用来衡量两个点之间直线隔断的方法。

(2)曼哈顿隔断

曼哈顿隔断(Manhattan distance),也称为都会街区隔断,是在网格状坐标体系中,从一个点到另一个点的隔断之和。

2 KNN 算法原理
K-近邻算法(K-Nearest Neighbors,简称KNN)是一种基于样本相似性的分类方法。它通过比力目的样本与其近来的 ( K ) 个邻人样本的种别来决定目的样本的种别。
具体步调如下:
      
  • 选择 ( K ):确定要思量的邻人数量 ( K )。
      
  • 盘算隔断:盘算目的样本与全部其他样本的隔断,找到隔断近来的 ( K ) 个样本。
      
  • 投票决定:统计这 ( K ) 个邻人中各种别的出现次数,目的样本将被分配到出现次数最多的种别。

假设我们有 10000 个样本,而且选择 ( K = 5 )。我们必要对一个待分类的样本 B 举行分类。起首,我们找到与样本 B 隔断近来的 5 个样本。假设这 5 个邻人的种别分布如下:

      
  • 种别 A:3 个样本
      
  • 种别 B:1 个样本
      
  • 种别 C:1 个样本

在这种情况下,由于种别 A 的邻人样本最多,样本 B 将被分类为种别 A。
弊端:盘算量大,维度灾难,必要选择符合的 ( K ) 值和隔断度量
  
  1. sklearn.neighbors.KNeighborsClassifier 的主要参数和方法如下:
  2. 参数
  3. n_neighbors:邻居数量,默认为 5。
  4. algorithm:寻找邻居的算法,默认为 'auto'。
  5. 方法
  6. fit(X, y):训练模型。
  7. predict(X):进行预测。
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表