X,y划分成训练和验证数据

# 模型选择,可以打乱顺序,按照比例进行划分
from sklearn.model_selection import train_test_split
# test_size = 0.2 ,train_size =0.8;训练:测试 = 4:1
X_train ,X_test ,y_train,y_test = train_test_split(X,y,test_size=0.2)

算法训练和预测(验证)

import numpy as np
from sklearn.neighbors import KNeighborsClassifier
# 模型选择,可以打乱顺序,按照比例进行划分
from sklearn.model_selection import train_test_split
# test_size = 0.2 ,train_size =0.8;训练:测试 = 4:1
X_train ,X_test ,y_train,y_test = train_test_split(X,y,test_size=0.2)
# 数据不符合要求,reshape改变形状,将3维数据变成2维的
X_train = X_train.reshape(4000,-1)
knn = KNeighborsClassifier(n_neighbors=63)# 选择几个关键的邻居
knn.fit(X_train,y_train)
# 使用算法进行预测,保留了1000个数据,算法没见过
# %%time 计时
X_test.reshape(1000,-1)
y_ = knn.predict(X_test)
# 准确率 等效算法,相当于求平均值
(y_==y_test).sum()/1000
(y_==y_test).mean()

knn——iris分类

import  numpy as np
import matplotlib.pylab as pyb
#%matplotlib inline
from sklearn.neighbors import KNeighborsClassifier
from sklearn import datasets
X,y = datasets.load_iris(True)
# 4个属性,4维空间,4维的数据
# print(X.shape)
# (150,4)(样本数量,属性数量)
# 降维,切片
# 训练数据
X = X[:,:2]
# 测试数据 shape (2,2)
print(X.shape)
pyb.scatter(X[:,0],X[:,1],c=y)
# pyb.show()
knn = KNeighborsClassifier(n_neighbors=5)
# 使用150个样本点作为训练数据
knn.fit(X,y)
#获取测试数据:横坐标:4~8;纵坐标:2~4.5
# 背景点取出来,meshgrid
x1 = np.linspace(4,8,100)
y1 = np.linspace(2,4.5,80)
X1,Y1 = np.meshgrid(x1,y1)
print(X1.shape,Y1.shape)
# pyb.scatter(X1,Y1)
# pyb.show()
X1=X1.reshape(-1,1)
Y1=Y1.reshape(-1,1)
X_test = np.concatenate([X1,Y1],axis=1)
# print(X_test.shape) #(8000,2)8000个样本,2个属性
# X1.revel().shape# ravel 平铺,一维化,等价于X1.reshape(-1).shape
# a = np.random.randint(0,30,size=(3,4))#降维
# print(a.ravel())
X_test = np.c_[X1.ravel(),Y1.ravel()]
X_test.shape
# 此时数据已经准备好了
y_ = knn.predict(X_test)
# 指定颜色
from matplotlib.colors import ListedColormap
lc = ListedColormap(['#FFAAAA','#AAFFAA','#AAAAFF'])
lc2 = ListedColormap(['#FF0000','#00FF00','#0000FF'])
pyb.scatter(X_test[:,0],X_test[:,1],c = y_,cmap = lc)
pyb.scatter(X[:,0],X[:,1],c = y,cmap = lc2)
pyb.show()
# 第二种画图方式
# pyb.contour(X1,Y1,y_reshape(80,100),cmap = lc)

sklearn——model_selection——knn手写识别系统+iris分类相关推荐

  1. Knn算法之手写识别系统

    knn值之手写识别系统 导入包 import numpy as np from os import listdir import operator 介绍 1.os模块 os.listdir() 方法用 ...

  2. 【Python】基于kNN算法的手写识别系统的实现与分类器测试

    基于kNN算法的手写识别系统 1.      数据准备 使用windows画图工具,手写0-9共10个数字,每个数字写20遍,共200个BMP文件. 方法如下,使用画图工具,打开网格线,调整像素为32 ...

  3. knn算法测试手写识别系统准确率

    手写识别系统,KNN算法实现手写识别系统的准确率 (准确率=测试分对的样本数/总的样本数) import numpy as np from itertools import chain from os ...

  4. 机器学习算法(一):k-近邻理论与python实现+经典应用(约会网站匹配、手写识别系统)

    一份算法学习笔记~ 亲爱的朋友,恭喜你点开神秘之门,哈哈哈哈!从这里开始,我们一起学习机器学习的经典算法吧. 这一次的主要内容是机器学习入门算法:k-近邻.理论相当好理解,下面我们正式开始啦! 算法简 ...

  5. python实现手写识别系统

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.手写识别系统 二.主要步骤 1.准备数据:将图像转换为测试向量 2.测试算法:使用k-近邻算法识别手写数字 总结 ...

  6. 【机器学习实战】k近邻算法实战——手写识别系统

    文章目录 手写识别系统 步骤: 准备数据:将图像转换为测试向量 测试算法:使用k-近邻算法识别手写数字 [完整代码] 手写识别系统 为了简单起见,这里构造的系统只能识别数字0到9,参见图2-6.需要识 ...

  7. 机器学习实战-手写识别系统

    在实现了K近邻算法后,书中给出了一个实例,今天来学习一下使用K近邻分类器的手写识别系统.书中原带的文件已经过处理转换为了文本格式,方便了许多. 先看一下原带文件 准备数据 #将图像转换为测试向量 de ...

  8. 【机器学习】手写识别系统

    [机器学习]手写识别系统 过程 ==准备数据:将图像转换为测试向量== ==测试算法:使用k-近邻算法识别手写数字== ==完整代码== 过程 收集数据:提供文本文件 准备数据:编写函数classif ...

  9. java手写识别_手写识别系统

    目的 采用k-近邻算法实现手写识别系统.这里采用0和1组成数字0-9的形状,再用算法对这些形状进行识别,来分辨出形状属于0-9那个数字.并计算出k-近邻算法识别手写数字的错误率. 数据说明 数据来自& ...

  10. 机器学习(4)——手写识别系统实例

    基本概念 利用K-近邻算法对0-9的32*32的黑白数字图像进行归类. 基本思路步骤 收集数据:提供文本文件: 准备数据:编写图像格式转化为可供分类器使用的向量格式的函数代码: 分析数据:进行检查数据 ...

最新文章

  1. 值得推荐!安利8个小众好用的宝藏工具,解决各种需求
  2. MySQL 备份与主从复制
  3. android自学之旅——layout资源文件
  4. 改变你一生命运的话语 不得不信
  5. C++中类成员函数作为多线程的入口
  6. CSS3/jQuery创意盒子动画菜单
  7. VMware时钟不准的解决之道
  8. mysql之desc 与asc
  9. Python内置函数(66)——vars
  10. 华为服务器维护宝典,华为交换机在江湖之维护宝典,用户登录教你玩转密码
  11. 【ANSYS命令流】模型的建立(二):其他相关命令(图形控制、节点单元选择等)
  12. Windows打开dcm文件、dcm文件批量转其它图片文件格式
  13. 422串口线互连的接法
  14. U3D 简化版跳一跳小游戏 实现(新手入门) (附源码下载链接,整个工程文件)
  15. Ogre 合成器 compositor
  16. java jsp实现注册登录界面_jsp实现简单的用户登录和注册
  17. ftp.proxy 代理服务器搭建
  18. 【《视觉SLAM十四讲》前ch2-ch6实践全过程和遇到的问题及解决办法】
  19. 如何解决模具折弯尺寸不稳定?
  20. 【免费开放源码】审批类小程序项目实战(预约审批端)

热门文章

  1. C# 子类实例化基类 基类使用不了子类的方法_C#委托事件机制:事件的完整声明,触发和事件的本质(6)...
  2. oracle报错对象不存在
  3. 爬虫实例十三 教你怎么用爬虫一次给女朋友拿下28万张情侣头像
  4. mysql自增主键到头了怎么办_数据库自增主键用完了怎么办
  5. 软件需求最佳实践pdf_| 专家观点 | 彭瑜:PackML成功的秘诀 ——简论软件定义包装过程的最佳实践...
  6. 动态分配算法_【原创连载】算法素颜(第4篇):空间复杂度你真的懂了吗?
  7. 服务器软件是否支持双机热备,服务器双机热备建议方案.doc
  8. c#怎么拟合函数得到参数_c#怎么拟合函数得到参数_最小二乘法拟合任意次曲线(C#)...
  9. winxp java 控制台_winxp系统设置java环境变量的详细教程
  10. renren-fast-vue:关闭ESLint检测