KNN算法
原理:当预测一个新的值x的时候,根据它距离最近的K个点是什么类别来判断x属于哪个类别。如:
此时K = 3,举例x值最近的三个点中,蓝色的三角形最多,因此x值属于蓝色三角形。
需要注意:K的值对结果的影响大,因此需要选取合适的K值。
实现步骤
- 计算距离
方法:
2将所得结果进行升序排列
3取前K个值:
4加权平均:
根据经验确定权值。
5.代码实现:
1.读取数据
打开同级目录中的csv文件,并将数据获取到datas中
2打乱数据,并将数据分为测试数据和实验数据
3定义计算距离的函数
4定义获取距离并排序,取前K个值并加权,计算权重,最终获取结果
5测试在不同K值下的准确率
6分析结果
当K取2或4的时候,准确率较高。