机器学习(一):k-近邻算法(基础篇)

机器学习实战(一):k-近邻算法(基础篇)

在这里插入图片描述
机器学习是一门比较难懂的技术行域,在学习机器学习的过程中,要有足够的耐心。机器学习实战对Python掌握要求较高,建议如果是小白的同学,可以先去看懂Python基础再进行机器学习实战,会有事半功倍的效果。以下是我对学习机器学习实践的一些笔记和总结,希望对你有帮助。k-近邻算法是机器学习中的第一个分类算法,在明白他的实质前,我们先来看一个实例。

一,动作片与爱情片

众所周知,大家在手机上用各种app选择自己喜欢的电影的时候,通常都会带有目的性。比如你喜欢武打片,那你就会去动作片区域找你喜欢的电影;你喜欢青春恋爱,那你就会去爱情片区域找你想要的电影;你喜欢爱情动作片,emmmm,自行想象。那么问题来了,在这些app中,这些电影所谓的动作篇,爱情片是怎么定义的呢?

下面给大家看个表格:

电影名称 打斗镜头 接吻镜头 电影类型
California Man 3 104 爱情片
He’s Not Really into Dudes 2 100 爱情片
Beautiful Woman 1 81 爱情片
Kevin Longblade 101 10 动作片
Robo Slayer 3000 99 5 动作片
Amped Ⅱ 98 2 动作片
18 90 未知

由上面的表格可以很容易的看出来,所谓的爱情片,接吻镜头明显多于打斗镜头,而动作篇的打斗镜头明显大于接吻镜头。接下来看看表格中的未知电影,很明显,它的接吻镜头明显大于打斗镜头,我们可以很确定的把它归为爱情片。可是,这是一个讲道理的世界,我们不可能只是凭感觉将这部电影贸然地归为爱情片,我们得拿出所谓的“证据”。

在这里我们可以将表格中的数据在一个直角坐标系中表示出来
在这里插入图片描述

由图片可知:蓝色是动作片,红色是爱情片,绿色则是我们需要确定的电影类型。从图中可以看出来绿色的点明显趋向于红色的点,那我们可以尝试,是否可以用点点之间的距离来确定这个未知电影的类型。

我们来看看每一部电影到未知电影的距离:

电影名称 与未知电影的距离
California Man 20.5
He’s Not Really into Dudes 18.7
Beautiful Woman 19.2
Kevin Longblade 115.3
Robo Slayer 3000 117.4
Amped Ⅱ 118.9

现在我们得到了每个电影与未知电影的区别,我们将其按照递增排序。我们找出离未知电影最近的k部电影,假设k=3,则发现三部电影都为爱情片,由此,我们可以得出,未知电影为爱情片。

恭喜你,看到这里,你已经懂得了k-邻近算法的实际应用了。k-邻近算法(kNN)属于一种较为简单的分类方法,你可以将数据想象成一堆点,每一个点都标有标签,找出未知数据所形成的那个点距离最近的k个点,依据k个点中标签出现概率最大的点进行分类。这就是k-近邻算法的实质。

k-近邻算法的基本流程:

  1. 收集数据:可以使用任何方法
  2. 准备数据:距离计算所需要的数值,最好是结构化的数据格式
  3. 分析数据:可以使用方法
  4. 训练算法:此步骤不适用于近邻算法
  5. 测试算法:计算错误率
  6. 使用算法:首先需要输入样本数和结构化的输出结果,然后运行k-近邻算法判定输入数据分别属于哪个分类,最后应用对计算出的分类执行后续的处理。

这个流程不仅适用于k-近邻算法,也在后续的很多算法中都适用,这个在后续会接着提到。

1,准

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值