knn(最近邻节点)模型

knn(k最近邻节点)

本质:找到与输入值距离最接近的k个节点,并以此为基础作出预测。

解决问题

  • 分类问题
    • 找到最接近的前k个结点。找到占比最大的类,并以此作为预测值输出。
    • 例:plinko
  • 回归问题
    • 找到最接近的k个节点。求出对应k节点对应目标值的平均值,并以此作为函数输出。

项目代码

项目代码链接

思路

knn模型对简单分类问题的python简单实现

1、获取历史数据(特征值feature,目标值label)
2、输入值
3、计算输入值与历史数据的距离
4、取前k个项,并且将其中出现概率最大的数作为结果输出

在这里插入图片描述

这里使用plinko这个游戏进行代码编写的详细分析

  1. 数据集打乱(np.random.shuffle())
  2. 划分数据集,分成训练集测试集两部分(8:2)
  3. 编写函数代码
    • k=36时,精确度变化情况
(1)绝对值求距离 (2)欧式距离(勾股定理) (3)欧氏距离并归一化
19% 37.0% 39.0%

注:点击可跳转至代码,同时(1)是一维的,(2)、(3)是二维的,由此看出,增加影响因素的考虑能够提高准确率,同时通过(2)、(3)可以得出,对算法进行改进也是可以提高数据精度


knn模型对简单回归问题的python简单实现

knn房价模型
目的:练习向量在机器学习中的使用
要点&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值