KNN算法

本文详细介绍了K-近邻算法,包括概念定义、抽象及现实举例,如电影类型评估。讨论了KNN的三要素:距离度量(欧式距离和曼哈顿距离)、K值选择及其对样本正确率的影响,以及分类决策。建议K值通常在1到20之间,并提供了实验分析结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

K—近邻算法详解

本文目录

1. 首先给出算法定义 
2. 抽象举例解释  
3. 现实举例解释
4. 算法描述
5. 利用UCI中的数据集解释
6. K近邻算法的三个基本要素
7. 总结
8. 问题讨论
9. 代码块 

1、概念定义

   第一句:给定一个带标签的样本数据集合(称为:训练集)
   第二句:当输入没有标签的新数据(新数据:测试集中的数据)后
   第三句:将新数据的每个特征与训练集中所有数据对应的特征进行相似性比较
   第四句:选择训练集中前K个最相似(最近邻)的数据,提取训前K个最相似的数据的分类标签,(说明:通常K是不大于20的整数)。
   第五句:选择这K个最相似数据中出现次数最多的类别标签,作为新数据的类别标签

2、抽象举例解释

例子1:图形判断

    1. 第一句:给定一个带标签的样本数据集合(称为:训练集)
***如下图所示:红色三角形和蓝色正方形组成的集合称为训练集,标签只有三角形,正方形。***
    2. 第二句:当输入没有标签的新数据(新数据:测试集中的数据)后。

图中,中间的绿色图形表示的是没有标签的新数据
这里写图片描述

   3. 第三句:将新数据的每个特征与训练集中所有数据对应的特征进行相似性比较
   ***这里采用欧式距离进行比较,即:比较两点间的距离的大小。距离越大,相似性就越小;距离越小,相似性就越大。**

遗留问题1:相似性比较方法有哪些?

这里写图片描述

4.  第四句:选择训练集中前K个最相似(距离最小)的数据,提取训前K个最相似的数据的分类标签, 

遗留问题2:k的值设定多少才合适?

5.  第五句:选择这K个最相似数据中出现次数最多的类别标签,作为新数据的类别标签

遗留问题3:多数表决规则怎样通过数学来解释?

3、现实举例解释

例子2:电影类型评估

  1. 第一句:给定一个带标签的样本数据集合(称为:训练集) 
  2. 第二句:当输入没有标签的新数据(新数据:测试集中的数据)后
  3. 第三句:将新数据的每个特征与训练集中所有数据对应的特征进行相似性比较

由于每个样本只有两个属性,因此采用和例子1相同的方法来比较两个样本间的相似性,即:将该数据映射到二维坐标平面上,比较两点间的距离的大小。
这里写图片描述

    4. 第四句:选择训练集中前K个最相似(距离最小)的数据,提取训前K个最相似的数据的分类标签,

如果k =3,则分别提取《泰坦尼克号》、《夏洛特烦恼》、《从你的全世界路过》三个数据的电影类型,分别是爱情片、爱情片、爱情片。

 5. 第五句:选择这K个最相似数据中出现次数最多的类别标签,作为新数据的类别标签

这里写图片描述
未知电影的电影类型为:爱情片

   基于前面两个简单例子,对K近邻概念定义中的每一句话进行了解释。 下面通过前面两个例子给出K近邻算法的正式化描述如下,并对其进行说明。

4、算法描述

   基于前面两个简单例子,对K近邻概念定义中的每一句话进行了解释。 下面通过前面两个例子给出K近邻算法的正式化描述如下,并对其进行说明。

这里写图片描述

  接下来,将根据该通过一个对UCI上的具体数据集的实验来进一步说明该算法。

6. 利用UCI中的数据集解释

数据集:mushroom数据集

  1. 数据集介绍

     ***蘑菇数据集中包括两类蘑菇,一类是有毒蘑菇,一类是无毒蘑菇。每个蘑菇有22个属性,介绍如下:***
      标签:有毒 = 1,无毒 = 2
      属性1. cap-shape: bell=3, conical=4, convex=5, flat=6 , knobbed=7, sunken=8 
      属性2. cap-surface: fibrous=9, grooves=10, scaly=11, smooth=12  
      属性3.cap-color:brown=13, buff=14, cinnamon=15, gray=16, green=17, pink=18,
                  purple=19, red=20, white=21, yellow=22
      .........
      属性22.
      具体数据如下所示:
      2 6 10 16 23 28 34 36 39 44 53 56 59 63 69 76 85 86 90 93 98 110 116
      1 3 11 16 24 29 34 36 39 42 52 56 61 66 70 77 85 86 90 95 101 110 117
      2 6 10 17 23 28 34 36 39 44 53 56 59 63 69 78 85 86 90 93 99 110 116
      1 3 10 16 24 29 34 36 39 43 52 56 61 66 70 77
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值