KNN算法实现手写数字识别的三种方法源码
标签:
•
文件类型: .zip
•
文件大小: 98.11MB
•
下载次数: 1
•
KNN算法使用MNIST数据集、0-1二值图集、自写的数字图片集,做手写数字识别的代码,文件夹分类明确。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-01-12 15:59 监督学习——KNN算法28x28+图片+KNN算法手写数字识别
目录 0 2018-03-16 10:58 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的
文件 2855 2018-03-16 10:58 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的28x28+图片+KNN算法手写数字识别.py
目录 0 2018-03-15 16:57 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的image
文件 0 2017-11-01 23:26 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的image\__init__.py
文件 163 2017-11-02 00:12 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的image\__init__.pyc
目录 0 2018-03-15 17:05 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的image\__pycache__
文件 159 2017-11-02 15:13 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的image\__pycache__\__init__.cpython-34.pyc
文件 170 2017-12-15 09:13 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的image\__pycache__\__init__.cpython-35.pyc
文件 1945 2017-11-19 23:47 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的image\__pycache__image2onebit.cpython-34.pyc
文件 1965 2018-03-15 17:05 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的image\__pycache__image2onebit.cpython-35.pyc
文件 830 2018-03-15 16:57 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的imageimage2onebit.py
文件 1868 2017-11-02 00:12 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的imageimage2onebit.pyc
目录 0 2018-03-08 15:46 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的MNIST_data
文件 1648877 2017-11-01 23:26 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的MNIST_data 10k-images-idx3-ubyte.gz
文件 4542 2017-11-01 23:26 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的MNIST_data 10k-labels-idx1-ubyte.gz
文件 9912422 2017-11-01 23:26 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的MNIST_data rain-images-idx3-ubyte.gz
文件 28881 2017-11-01 23:26 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的MNIST_data rain-labels-idx1-ubyte.gz
目录 0 2018-03-16 10:58 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的png
文件 977 2017-11-01 23:26 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的png ps.png
文件 954 2017-11-01 23:26 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的png1ps.png
文件 222 2017-12-20 17:55 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的png2ps.png
文件 242 2017-12-20 17:53 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的png3ps.png
文件 991 2017-11-01 23:26 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的png4ps.png
文件 237 2017-12-20 18:00 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的png5ps.png
文件 1000 2017-11-01 23:26 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的png6ps.png
文件 226 2017-12-20 17:50 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的png7ps.png
文件 1005 2017-11-01 23:26 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的png8ps.png
文件 426 2018-03-09 11:22 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的png9kk.png
文件 994 2017-11-07 20:24 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的png9ps.png
文件 297 2018-03-15 17:40 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的pngaaaa.png
............此处省略93737个文件信息
# -*- coding:utf-8 -*-
# -*- author:zzZ_CMing
# -*- 2017/12/23
# -*- python3.5
import numpy as np
from image import image2onebit as it
import sys
from tensorflow.examples.tutorials.mnist import input_data
import math
import datetime
#KNN算法主体:计算测试样本与每一个训练样本的距离
def get_index(train_datatest_data i):
#1、 np.argmin(np.sqrt(np.sum(np.square(test_data[i]-train_data)axis=1)))
#2、a数组存入:测试样本与每一个训练样本的距离
all_dist = np.sqrt(np.sum(np.square(test_data[i]-train_data)axis=1)).tolist()
return all_dist
#KNN算法主体:计算查找最近的K个训练集所对应的预测值
def get_number(all_dist):
all_number = []
min_index = 0
#print(‘距离列表:‘ all_dist)
for k in range(Nearest_Neighbor_number):
# 最小索引值 = 最小距离的下标编号
min_index = np.argmin(all_dist)
#依据最小索引值(最小距离的下标编号),映射查找到预测值
ss = np.argmax((train_label[min_index])).tolist()
print(‘第‘k+1‘次预测值:‘ss)
#将预测值改为字符串形式存入新元组bb中
all_number = all_number + list(str(ss))
#在距离数组中,将最小的距离值删去
min_number = min(all_dist)
xx = all_dist.index(min_number)
del all_dist[xx]
print(‘预测值总体结果:‘all_number)
return all_number
#KNN算法主体:在K个预测值中,求众数,找到分属最多的那一类,输出
def get_min_number(all_number):
c = []
#将string转化为int,传入新列表c
for i in range(len(all_number)):
c.append(int(all_number[i]))
#求众数
new_number = np.array(c)
counts = np.bincount(new_number)
return np.argmax(counts)
t1 = datetime.datetime.now() #计时开始
print(‘说明:训练集数目取值范围在[060000]K取值最好<10
‘ )
train_sum = int(input(‘输入训练集数目:‘))
Nearest_Neighbor_number = int(input(‘选取最邻近的K个值,K=‘))
#依照文件名查找,读取训练与测试用的图片数据集
mnist = input_data.read_data_sets(“./MNIST_data“ one_hot=True)
#取出训练集数据、训练集标签
train_data train_label = mnist.train.next_batch(train_sum)
#调用自创模块内函数read_image():依照路径传入图片处理,将图片信息转换成numpy.array类型
x1_tmp = it.read_image(“png/nnnn.png“)
test_data = it.imageToArray(x1_tmp)
test_data = np.array(test_data)
#print(‘test_data‘test_data)
#调用自创模块内函数show_ndarray():用字符矩阵打印图片
it.show_ndarray(test_data)
#KNN算法主体
all_dist = get_index(train_datatest_data0)
all_number = get_number(all_dist)
min_number = get_min_number(all_number )
print(‘最后的预测值为:‘min_number)
t2=datetime.datetime.now()
print(‘耗 时 = ‘t2-t1)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-01-12 15:59 监督学习——KNN算法28x28+图片+KNN算法手写数字识别
目录 0 2018-03-16 10:58 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的
文件 2855 2018-03-16 10:58 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的28x28+图片+KNN算法手写数字识别.py
目录 0 2018-03-15 16:57 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的image
文件 0 2017-11-01 23:26 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的image\__init__.py
文件 163 2017-11-02 00:12 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的image\__init__.pyc
目录 0 2018-03-15 17:05 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的image\__pycache__
文件 159 2017-11-02 15:13 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的image\__pycache__\__init__.cpython-34.pyc
文件 170 2017-12-15 09:13 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的image\__pycache__\__init__.cpython-35.pyc
文件 1945 2017-11-19 23:47 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的image\__pycache__image2onebit.cpython-34.pyc
文件 1965 2018-03-15 17:05 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的image\__pycache__image2onebit.cpython-35.pyc
文件 830 2018-03-15 16:57 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的imageimage2onebit.py
文件 1868 2017-11-02 00:12 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的imageimage2onebit.pyc
目录 0 2018-03-08 15:46 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的MNIST_data
文件 1648877 2017-11-01 23:26 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的MNIST_data 10k-images-idx3-ubyte.gz
文件 4542 2017-11-01 23:26 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的MNIST_data 10k-labels-idx1-ubyte.gz
文件 9912422 2017-11-01 23:26 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的MNIST_data rain-images-idx3-ubyte.gz
文件 28881 2017-11-01 23:26 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的MNIST_data rain-labels-idx1-ubyte.gz
目录 0 2018-03-16 10:58 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的png
文件 977 2017-11-01 23:26 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的png ps.png
文件 954 2017-11-01 23:26 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的png1ps.png
文件 222 2017-12-20 17:55 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的png2ps.png
文件 242 2017-12-20 17:53 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的png3ps.png
文件 991 2017-11-01 23:26 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的png4ps.png
文件 237 2017-12-20 18:00 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的png5ps.png
文件 1000 2017-11-01 23:26 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的png6ps.png
文件 226 2017-12-20 17:50 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的png7ps.png
文件 1005 2017-11-01 23:26 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的png8ps.png
文件 426 2018-03-09 11:22 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的png9kk.png
文件 994 2017-11-07 20:24 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的png9ps.png
文件 297 2018-03-15 17:40 监督学习——KNN算法28x28+图片+KNN算法手写数字识别A+自己做的pngaaaa.png
............此处省略93737个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)