机器学习 1 (KNN原理和入门)

1、KNN解释

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

所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。

2、实例:预测电影类型

用于机器学习训练的表
在这里插入图片描述

2.1、算法实现

导入会使用到的库
在这里插入图片描述
打开表
在这里插入图片描述
存数据X、y
在这里插入图片描述
训练数据(机器学习)
在这里插入图片描述
预测电影类型
在这里插入图片描述

2.2、算法原理

计算目标点和标本点之间的距离,根据距离远近,得到对应的概率
在这里插入图片描述
在这里插入图片描述

3、实例:识别手写数字

这里我们准备了5000个手写的数字图片,其中4000个用于训练数据,1000个测试识别
在这里插入图片描述
在这里插入图片描述

3.1、算法实现

导包
在这里插入图片描述
读取显示图片
在这里插入图片描述
将5000个图片以2维数组的形式保存在data中
在这里插入图片描述
X存转成array格式的data、y存一个array格式的一维数组用于区分每个数字(0~9)

y里面存的数字就对应X里面的数据
在这里插入图片描述
在这里插入图片描述
从5000个图片中随机取其中4000个用于训练数据,1000个测试识别
在这里插入图片描述
sklearn中的训练数据必须是二位的

把X_train转成二维
在这里插入图片描述
在这里插入图片描述
选取邻近5个点作为标准训练数据训练标准
在这里插入图片描述
预测
在这里插入图片描述
比对前20个预测的值和训练数据的值
在这里插入图片描述
计算预测的准确率:正确率0.941
在这里插入图片描述
在这里插入图片描述

3.1、算法优化

knn.score可以预测并计算准确率
在这里插入图片描述
我们把近邻数值提高到20,发现准确率反而降低了
在这里插入图片描述
提高准确率:加上权重
在这里插入图片描述
更换距离计算方式:p,不写p默认=2是欧式距离,p=1是曼哈顿距离
在这里插入图片描述
开启多线程处理数据:n_job,n_job=-1时电脑有几个cpu就开启几个线程
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值