KNN算法--基本分类和回归方法

举报
搞前端的半夏 发表于 2021/10/24 21:57:17 2021/10/24
【摘要】 ​KNN算法–基本分类和回归方法。是什么给定一个训练数据集(test_set)对新的输入实例在训练集(train_set)中找到与该实例距离最近的k个数据集这k个数据集的大多数属于哪个类型的,那么这个实例就是那个分类。 如图一所示举一个不恰当的例子:如果你的身边都是百万富翁,那你的资产大概率也不少。k值的选取以及影响2.1 k值过小,导致过拟合如图所示,当k值选择最小为1时,五边形直接属于黑...


KNN算法–基本分类和回归方法。

  1. 是什么
    给定一个训练数据集(test_set)

对新的输入实例

在训练集(train_set)中找到与该实例距离最近的k个数据集

这k个数据集的大多数属于哪个类型的,那么这个实例就是那个分类。 如图一所示

举一个不恰当的例子:如果你的身边都是百万富翁,那你的资产大概率也不少。

  1. k值的选取以及影响

2.1 k值过小,导致过拟合

如图所示,当k值选择最小为1时,五边形直接属于黑色,但你从感官上看五边形应该属于方块啊。这就是过拟合。

2.2 k值过大,模型简单,预测失误

极端的例子:选取整个训练集的长度为k值。你会发现五边形永远属于个数最多的类别。

2.3 特征归一化

首先我们先来看这样一个例子: 5个训练样本:

| 序号 | 身高 | 体重 | 分类 | | :—: | :—: | :—: | :—: | | 1 | 179 | 42 | 男 | | 2 | 178 | 43 | 男 | | 3 | 165 | 36 | 女 | | 4 | 177 | 42 | 男 | | 5 | 160 | 35 | 女 |

给出测试样本: 6(167,43)

选定k=3 计算距离:

6-1=$$\sqrt{145}$$

6-2=$$\sqrt{121}$$

6-3=$$\sqrt{53}$$

6-4=$$\sqrt{101}$$

6-5=$$\sqrt{103}$$

由此发现 最近的为3,4,5。因为两女一男,我们推断样本属于女。 但是你会发现一个女性的脚为43码远远小于男性的脚为43码,

这里就是因为身高的数值比脚的数值大或者说是量纲大。因此导致身高的重要性远远大于脚码。 这也就是归一化的原因。

数据归一化的处理方式有很多,比如:0-1标准化,Z-score标准化,Sigmoid压缩法。 这里介绍一个比较简单的0-1标准化,公式:

MIN为改特征下的最小值,如身高的MIN为160;

MAX为该特征下的最大值,如身高的MAX为179

x n o r m a l i z a t i o n = x M I N M A X M I N x_normalization=\frac{x-MIN}{MAX-MIN}

上面的测试数据经过0-1标准归一化变为

| 序号 | 身高 | 体重 | 分类 | | :—: | :—: | :—: | :—: | | 1 | 1 | 0.875 | 男 | | 2 | 0.95 | 1 | 男 | | 3 | 0.26 | 0.125 | 女 | | 4 | 0.89 | 0.875 | 男 | | 5 | 0 | 0 | 女 |

举例 身高:

1=$$\frac{179-160}{179-160}$$=1 2=$$\frac{179-160}{179-160}$$=0.95

体重

1=1=$$\frac{42-35}{43-35}$$=0.875

距离的度量
主要包括以下几种度量方式

案例-预测癌症
预测癌症

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。