杨桃的Python机器学习6——kNN算法1:欧氏距离公式

本人CSDN博客专栏:https://blog.csdn.net/yty_7

Github地址:https://github.com/yot777/

 

散点图的直观解决思路:更近

回到上一节:杨桃的Python机器学习5,我们最终得到了如下的散点图:

蓝色的点(标签为1)似乎都集中在图的左下部分,橙色的点(标签为0)似乎都集中在图的右上部分。

我们在散点图上再增加两个点A和B,想想他们的标签应该分别是什么?

同学们也许大概已经猜出来答案了:

点A和蓝色的点更近,应当是标签1

点B和橙色的点更近,应当是标签0

现在这个“更近”只是直观上的感觉,有没有更科学的计算呢?当然有!这就是欧式距离公式。

一维的距离度量

我们先以一维直线举例,如图:

如图所示,一维直线上有A和B两个点,A点在0的位置,B在5的位置。A点和B点的距离是:|AB|=|5-0|=5

现在增加一个C点在2的位置,请问C点离哪个点更近?

答案是显而易见的,计算两点之间的距离就能知道结果。

C点到A点的距离是:|CA|=|2-0|=|2|=2

C点到B点的距离是:|CB|=|2-5|=|-3|=3  (绝对值)

|CA| < |CB|,因此C点离A点更近。

一般的,两个点x_{1}, x_{2} 在一维长度的距离公式就是 |x_{1}-x_{2}|

二维的距离度量

现在我们把问题稍微复杂一点,从一维直线拓展到二维平面,如图:

A点的位置坐标是(0, 0),B点的位置坐标是(3, 4),现在求AB之间的距离(即红线长度)是多少?

可能有同学一下子就看出来了:这不就是勾股定理嘛?勾三股四弦五!完全正确!具体计算如下:

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值