原文地址:http://siligence.ai/article-73-1.html
更多优秀原创文章尽在:http://siligence.ai/portal.php
在kaggle中,参赛人数比较多的比较经典的就是手写数字识别大赛,作为深度学习的hello world,吸引了两千多支队伍的参赛,在今天我们分享的是不用kaggle自带的数据集,我们使用mnist的数据集进行训练,也就是我们刚开始就遇到的mnist的手写数字数据集进行模型训练和搭建,然后对于kaggle比赛中的28000条数据进行分析进行参赛。
首先,下载数据集:
kaggle的test.csv测试数据集自行下载
本文一切代码基于python+keras的神经网络搭建:
请将数据集和源代码放在同一个目录下:
首先导入keras层和模型函数:
from keras.datasets import mnist
from keras import models
from keras import layers
import numpy
test = numpy.loadtxt(open("test.csv","rb"),delimiter=",",skiprows=1)
test = test.reshape((28000,28*28))
test = test.astype('float32')/255
(train_images,train_labels),(test_images,test_labels)=mnist.load_data()
同时读取mnist的数据集,这份数据集为keras自带,直接包括进来即可:
digit = test_images[0]
import matplotlib.pyplot as plt
plt.imshow(digit, cmap=plt.cm.binary)
plt.show()
图片样式:
每一个数据单元都是这样子的形式,28*28像素对图片,对应不同的手写数字:
那么我们通常是用kaggle自己的数据集进行训练,结果不尽如人意,原因其实就是数据集过小了,对应的一些权重不完备,