首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习入门 4-1 k近邻算法基础

机器学习入门 4-1 k近邻算法基础

作者头像
触摸壹缕阳光
发布2019-11-12 21:29:06
4090
发布2019-11-12 21:29:06
举报

本系列是《玩转机器学习教程》一个整理的视频笔记。本小节主要介绍K近邻算法。

K近邻算法

k近邻算法是机器学习中最简单的算法之一,他是入门机器学习中的第一个算法。K近邻算法:

  1. 思想极度简单;
  2. 应用数学知识少(近乎为零);
  3. 效果比较好;
  4. 可以解释机器学习算法使用过程中很多细节问题
  5. 更完整的刻画机器学习应用流程

横轴和纵轴分别代表两个特征,蓝色代表恶性肿瘤,红色代表良性肿瘤,有了这些初始信息。

现在来了一个新的数据点。也就是下面绿色的数据点,我们该怎么判断新来的数据点是良性肿瘤还是恶性肿瘤呢?

如果使用K近邻算法,我们需要给定一个K值,K值是一个超参数,由我们根据经验自己指定,此时我们给定k = 3。

之后要做在整个数据点中找到与绿色数据点(想要预测的数据点)最近的3个数据点(因为此时的k = 3),如下图所示:

之后对这些最近的点的label进行统计,选择最近的这些点中相同label最多的数据点,即认为是绿色数据点的label。就本例来说,与绿色的数据点最近的3个数据点的label标签都是恶性肿瘤,因此K近邻认为这个绿色的数据点为恶性肿瘤。

k近邻的本质就是认为,如果两个样本足够的相似,就有更高的概率属于同一个类别,当然此时只看与之相近的一个类别是不靠谱的,所以多看几个样本,也就是k个样本。此时看判断两个样本的相似性,就是看两个样本在特征空间中的距离来描述的。

下面在举一个例子:

与绿色数据点最近的3个数据点,有两个红色数据点和一个蓝色数据点,因此少数服从多数,红色点胜出,因此认为绿色这个新的数据点是红色label标签,也就是良性肿瘤。

从上面也可以看出,K近邻首先能够解决分类问题,当然了K近邻算法也是能够解决回归问题的。

数据准备以及可视化

导入需要包

创建数据

此时创建的是一个假的数据,后面会使用更加真实的数据。

数据的可视化,因为是两个特征,并且label标签为数据点的类别,所以我们使用散点图来可视化数据。

预测新的数据点

K近邻要做的就是假设有了一个新的数据x,我们需要通过k近邻算法知道新的数据点x属于哪一个类别。也就是说,他最有可能是良性肿瘤还是恶性肿瘤。

根据K近邻算法,从图中直观来看,蓝色数据点也就是新的数据点属于红色点也就是恶性肿瘤的概率大一些。接下来就使用K近邻算法来预测这个蓝色数据点类别。

K近邻过程

计算数据点之间相似度

首先需要计算新的数据点与其他数据点之间的相似性是多少,我们使用空间中数据点之间的距离来作为数据点之间的相似性。此时我们使用欧拉距离公式。

找出最近K个点

预测最终结果

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI机器学习与深度学习算法 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档