DL之NN:基于(sklearn自带手写数字图片识别数据集)+自定义NN类(三层64→100→10)实现97.5%准确率
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%准确率相关推荐
- TF之CNN:利用sklearn(自带手写数字图片识别数据集)使用dropout解决学习中overfitting的问题+Tensorboard显示变化曲线
TF之CNN:利用sklearn(自带手写数字图片识别数据集)使用dropout解决学习中overfitting的问题+Tensorboard显示变化曲线 目录 输出结果 设计代码 输出结果 设计代码 ...
- DL之DNN:利用DNN算法对mnist手写数字图片识别数据集(sklearn自带,1797*64)训练、预测(95%)
DL之DNN:利用DNN算法对mnist手写数字图片识别数据集(sklearn自带,1797*64)训练.预测(95%) 目录 数据集展示 输出结果 设计代码 数据集展示 先查看sklearn自带di ...
- DL之CNN:利用卷积神经网络算法(2→2,基于Keras的API-Functional)利用MNIST(手写数字图片识别)数据集实现多分类预测
DL之CNN:利用卷积神经网络算法(2→2,基于Keras的API-Functional)利用MNIST(手写数字图片识别)数据集实现多分类预测 目录 输出结果 设计思路 核心代码 输出结果 下边两张 ...
- DL之CNN:利用卷积神经网络算法(2→2,基于Keras的API-Sequential)利用MNIST(手写数字图片识别)数据集实现多分类预测
DL之CNN:利用卷积神经网络算法(2→2,基于Keras的API-Sequential)利用MNIST(手写数字图片识别)数据集实现多分类预测 目录 输出结果 设计思路 核心代码 输出结果 1.10 ...
- DL之DNN:利用DNN【784→50→100→10】算法对MNIST手写数字图片识别数据集进行预测、模型优化
DL之DNN:利用DNN[784→50→100→10]算法对MNIST手写数字图片识别数据集进行预测.模型优化 导读 目的是建立三层神经网络,进一步理解DNN内部的运作机制 目录 输出结果 设计思路 ...
- ML之K-means:基于(完整的)手写数字图片识别数据集利用K-means算法实现图片聚类
ML之K-means:基于(完整的)手写数字图片识别数据集利用K-means算法实现图片聚类 目录 输出结果 设计思路 核心代码 输出结果 设计思路 核心代码 metrics.adjusted_ran ...
- TF之DNN:利用DNN【784→500→10】对MNIST手写数字图片识别数据集(TF自带函数下载)预测(98%)+案例理解DNN过程
TF之DNN:利用DNN[784→500→10]对MNIST手写数字图片识别数据集(TF自带函数下载)预测(98%)+案例理解DNN过程 目录 输出结果 案例理解DNN过程思路 代码设计 输出结果 案 ...
- Dataset之Handwritten Digits:Handwritten Digits(手写数字图片识别)数据集简介、安装、使用方法之详细攻略
Dataset之Handwritten Digits:Handwritten Digits(手写数字图片识别)数据集简介.安装.使用方法之详细攻略 目录 Handwritten Digits数据集的简 ...
- Dataset之MNIST:MNIST(手写数字图片识别+ubyte.gz文件)数据集简介、下载、使用方法(包括数据增强)之详细攻略
Dataset之MNIST:MNIST(手写数字图片识别+ubyte.gz文件)数据集简介+数据增强(将已有MNIST数据集通过移动像素上下左右的方法来扩大数据集为初始数据集的5倍) 目录 MNIST ...
最新文章
- linux查看服务器外网ip方法
- Semaphore(信号量)
- java 报文请求_http 请求报文和响应报文编写 (java socket实例)
- The Magic Tower
- 深圳华强北三菱服务器维修,三菱电梯GPS维修的故障分析 -解决方案-华强电子网...
- 阿里巴巴开发规范集合处理
- mysql in 子查询优化_mysql in 子查询 容易优化
- DevOps组件高可用的思路
- jaxp与dom4j遍历xml树
- fireworks切图
- 三层架构和mvc的区别_谈谈对于企业级系统架构的理解
- 【Web技术】(实验一)HTML静态网页设计
- 一加3t刷机后还卡_一加3t刷机工具大全+3个ROM
- 区块链是世界第九大奇迹,它在触动钱、信任和权力!
- 视频编解码基本概念之 GOP
- Texturepackage工具免费申请正版密钥
- 贪心法 第3关:将真分数用埃及分数之和表示
- 边缘计算卸载论文翻译于分析总结
- 这有几个常见的电脑故障解决方法,需要的朋友快来
- Linux下编写C语言