KNN聚类的原理和实现

本文介绍了KNN(K-Nearest Neighbors)聚类算法的原理和Python实现过程,包括数据集下载、导入包、数据处理、算法实现及可能出现的问题与解决方案。通过计算距离、排序、取前k个邻居并进行加权平均来确定未知样本的分类。讨论了k值选择的影响以及实战中数据分块、测试和错误处理的方法。
摘要由CSDN通过智能技术生成

目录

一、认识knn算法

二、算法原理

 三、实战应用

1、下载数据集并导入包

2、读取数据

3、数据分块—test和train

4、KNN算法

5、测试

四、总结一下出现的问题


注意: 本部分内容只需Python实现即可。

一、认识knn算法

其实,knn就是寻找未知分类的离它最近的n个已知数据,然后来看它应该是属于哪一类的

二、算法原理

首先,简单来说有几个步骤(通用步骤)

1.计算距离(常用欧几里得距离或马氏距离)

     因为要计算所求的这个点与别的相差多远

2.升序排列

     意思就是距离最近的排前面,距离最远的排后边

3.取前k个

     根据排序进行取值

4.加权平均

     然后对取的前k个进行加权平均(注意不能用算术平均)

注意:

(1)k的值选取

          k太大,会导致分类模糊;k太小,会受个例影响,导致波动较大

(2)如何选取k

      当然如果你是老手,你可以靠经验来确定如何取k了;但如果没有把握,可以根据均方根误差来选取k。(后者是比较可靠的办法哦)举例:如下图可见,直接找到峰点即可,可选取k

 三、实战应用

1、下载数据集并导入包

数据集:使用的是一个癌症的检测数据,由于文件无法放在这里,在此放个学习视频链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值