DL之NN:基于(sklearn自带手写数字图片识别数据集)+自定义NN类(三层64→100→10)实现97.5%准确率

目录

输出结果

核心代码


输出结果

核心代码

#DL之NN:基于sklearn自带手写数字图片识别数据集+自定义NN类(三层64→100→10)实现97.5%准确率
#输入64+1(偏置)个神经元,隐藏层神经元个数可以自定义,输出层10个神经元
import numpy as np
from sklearn.datasets import load_digits              #sklearn自带数据集
from sklearn.metrics import confusion_matrix, classification_report
from sklearn.preprocessing import LabelBinarizer      #标签二值化
from sklearn.cross_validation import train_test_split  #将数据切分分训练数据和测试数据
import matplotlib.pyplot as plt def sigmoid(x):return 1/(1+np.exp(-x))
def dsigmoid(x):return x*(1-x)……def predict(self,x):  #预测函数,也需要先添加偏置#添加偏置,最初的数据64上需额外加入偏置列temp=np.ones(x.shape[0]+1)   #temp[0:-1]=x #该矩阵的0列到-1列x=temp   #通过转换行没有变,但是多了一列x=np.atleast_2d(x) #转为2维数据L1=sigmoid(np.dot(x,self.V)) #隐藏层输出L2=sigmoid(np.dot(L1,self.W)) #输出层输出return L2digits = load_digits()  #下载数据集
X = digits.data         #输入数据
y = digits.target       #标签
#输入数据归一化:把最初的数据都变为[0~1]之间的数据
X -= X.min()
X /= X.max()
nn = NeuralNetwork([64, 100, 10]) #构建神经网络,神经元个数
X_train, X_test, y_train, y_test = train_test_split(X, y)  #分割数据,75%为训练25%为测试#对标签二值化,将输出变为神经网络的风格:比如若输出3→0001000000
labels_train = LabelBinarizer().fit_transform(y_train)
labels_test = LabelBinarizer().fit_transform(y_test)print ("start")
nn.train(X_train, labels_train, epochs=30000)
print ("over")  

相关文章
gitHub

DL之NN:基于(sklearn自带手写数字图片识别数据集)+自定义NN类(三层64→100→10)实现97.5%准确率相关推荐

  1. TF之CNN:利用sklearn(自带手写数字图片识别数据集)使用dropout解决学习中overfitting的问题+Tensorboard显示变化曲线

    TF之CNN:利用sklearn(自带手写数字图片识别数据集)使用dropout解决学习中overfitting的问题+Tensorboard显示变化曲线 目录 输出结果 设计代码 输出结果 设计代码 ...

  2. DL之DNN:利用DNN算法对mnist手写数字图片识别数据集(sklearn自带,1797*64)训练、预测(95%)

    DL之DNN:利用DNN算法对mnist手写数字图片识别数据集(sklearn自带,1797*64)训练.预测(95%) 目录 数据集展示 输出结果 设计代码 数据集展示 先查看sklearn自带di ...

  3. DL之CNN:利用卷积神经网络算法(2→2,基于Keras的API-Functional)利用MNIST(手写数字图片识别)数据集实现多分类预测

    DL之CNN:利用卷积神经网络算法(2→2,基于Keras的API-Functional)利用MNIST(手写数字图片识别)数据集实现多分类预测 目录 输出结果 设计思路 核心代码 输出结果 下边两张 ...

  4. DL之CNN:利用卷积神经网络算法(2→2,基于Keras的API-Sequential)利用MNIST(手写数字图片识别)数据集实现多分类预测

    DL之CNN:利用卷积神经网络算法(2→2,基于Keras的API-Sequential)利用MNIST(手写数字图片识别)数据集实现多分类预测 目录 输出结果 设计思路 核心代码 输出结果 1.10 ...

  5. DL之DNN:利用DNN【784→50→100→10】算法对MNIST手写数字图片识别数据集进行预测、模型优化

    DL之DNN:利用DNN[784→50→100→10]算法对MNIST手写数字图片识别数据集进行预测.模型优化 导读 目的是建立三层神经网络,进一步理解DNN内部的运作机制 目录 输出结果 设计思路 ...

  6. ML之K-means:基于(完整的)手写数字图片识别数据集利用K-means算法实现图片聚类

    ML之K-means:基于(完整的)手写数字图片识别数据集利用K-means算法实现图片聚类 目录 输出结果 设计思路 核心代码 输出结果 设计思路 核心代码 metrics.adjusted_ran ...

  7. TF之DNN:利用DNN【784→500→10】对MNIST手写数字图片识别数据集(TF自带函数下载)预测(98%)+案例理解DNN过程

    TF之DNN:利用DNN[784→500→10]对MNIST手写数字图片识别数据集(TF自带函数下载)预测(98%)+案例理解DNN过程 目录 输出结果 案例理解DNN过程思路 代码设计 输出结果 案 ...

  8. Dataset之Handwritten Digits:Handwritten Digits(手写数字图片识别)数据集简介、安装、使用方法之详细攻略

    Dataset之Handwritten Digits:Handwritten Digits(手写数字图片识别)数据集简介.安装.使用方法之详细攻略 目录 Handwritten Digits数据集的简 ...

  9. Dataset之MNIST:MNIST(手写数字图片识别+ubyte.gz文件)数据集简介、下载、使用方法(包括数据增强)之详细攻略

    Dataset之MNIST:MNIST(手写数字图片识别+ubyte.gz文件)数据集简介+数据增强(将已有MNIST数据集通过移动像素上下左右的方法来扩大数据集为初始数据集的5倍) 目录 MNIST ...

最新文章

  1. linux查看服务器外网ip方法
  2. Semaphore(信号量)
  3. java 报文请求_http 请求报文和响应报文编写 (java socket实例)
  4. The Magic Tower
  5. 深圳华强北三菱服务器维修,三菱电梯GPS维修的故障分析 -解决方案-华强电子网...
  6. 阿里巴巴开发规范集合处理
  7. mysql in 子查询优化_mysql in 子查询 容易优化
  8. DevOps组件高可用的思路
  9. jaxp与dom4j遍历xml树
  10. fireworks切图
  11. 三层架构和mvc的区别_谈谈对于企业级系统架构的理解
  12. 【Web技术】(实验一)HTML静态网页设计
  13. 一加3t刷机后还卡_一加3t刷机工具大全+3个ROM
  14. 区块链是世界第九大奇迹,它在触动钱、信任和权力!
  15. 视频编解码基本概念之 GOP
  16. Texturepackage工具免费申请正版密钥
  17. 贪心法 第3关:将真分数用埃及分数之和表示
  18. 边缘计算卸载论文翻译于分析总结
  19. 这有几个常见的电脑故障解决方法,需要的朋友快来
  20. Linux下编写C语言

热门文章

  1. 百度智能小程序开源联盟成立,首批12家成员签约
  2. 字符串大小写互换方法
  3. stm32 can bus 总结
  4. 《XML程序设计》要点
  5. Redis允许远程访问
  6. Serverless五大优势,成本和规模不是最重要的,这点才是架构
  7. 3分钟了解dubbo服务调试管理实用命令
  8. 什么是 CAS 机制?
  9. 从HashiCorp Nomad对上百万容器进行调度所学到的经验
  10. java泛型集合_Java泛型集合(Set)