python 实例简述 k-近邻算法的基本原理

k-近邻算法是一种简单有效的数据挖掘分类技术。它通过计算新数据与训练样本集的距离来分类,常用距离计算方式如欧式距离。本文介绍了k-NN的工作原理,以及在Python中实现k-NN算法的步骤,包括数据导入、算法实现和测试分类器。
摘要由CSDN通过智能技术生成

邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。

k-近邻算法概述

k-近邻算法采用测量不同特征值之间的距离方法来进行分类,距离计算方法可以有很多,其中比如说有欧式距离,曼哈顿距离,标准化欧式距离,夹角余弦等等,可以参考 yoyo 的博客: http://blog.sina.com.cn/s/blog_52510b1d01015nrg.html ,距离算法的选择应当参考实际的项目需求,这里作为例子用欧氏距离来计算距离。

接下来来看看 kNN 算法的工作原理:首先我们一个样本集合,也称为训练样本集,在训练样本集中每个数据都存在一个标签用来指明该数据的所属分类。在输入一个新的未知所属分类的数据后,将新数据的所有特征和样本集中的所有数据计算距离。从样本集中选择与新数据距离最近的 k 个样本,将 k 个样本中出现频次最多的分类作为新数据的分类,通常 k 是小于20的,这也是 k 的出处。

k近邻算法的优点:精度高,对异常值不敏感,无数据输入假定。
k 近邻算法的缺点:时间复杂度和空间复杂度高
数据范围:数值型和标称型

简单的k 近邻算法实现

第一步:使用 python 导入数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值