Keras
sudo pip install keras --安装
新建一个文件,里面存储的数据:第一列是属性,第二列是类别
11220044 0
11220044 0
11220044 0
11220033 1
11222244 0
11222244 0
11222444 1
11222044 0
11220044 0
11220044 0
11220044 0
11220044 0
11220044 0
11220055 1
11220066 1
11220077 1
X_test,y_test=np.loadtxt('/home/hadoop/py_test.txt',unpack='true')
这样python导入的是一个
先创建一个numpy.ndarray的数组
array([ 11220044., 11220044., 11220044., 11220033., 11222244.,
11222244., 11222444., 11222044., 11220044., 11220044.,
11220044., 11220044., 11220044., 11220055., 11220066.,
11220077.])
这个数组是1*16即1行16列
这很显然不是我们想要的,因此要把数组转换一下,变成16*8的情况
这样才能处理.把前面的数组做下面改变,变成16*8的情况
x=np.array(
[
[1 ,1, 2, 2, 0, 0, 4, 4],
[1, 1 ,2, 2, 0, 0, 4, 4],
[1, 1 ,2, 2, 0, 0, 4, 4],
[1, 1, 2, 2, 0, 0, 3, 3],
[1, 1, 2, 2, 2, 2, 4, 4],
[1, 1, 2, 2, 2, 2, 4, 4],
[1, 1, 2, 2, 2, 4, 4, 4],
[1, 1, 2, 2, 2, 0, 4, 4],
[1, 1, 2, 2, 0, 0, 4, 4],
[1, 1, 2, 2, 0, 0, 4, 4],
[1, 1, 2, 2, 0, 0, 4, 4],
[1, 1, 2, 2, 0, 0, 4, 4],
[1, 1, 2, 2, 0, 0, 4 ,4],
[1, 1, 2, 2, 0, 0, 5, 5],
[1, 1, 2, 2, 0, 0, 6, 6],
[1, 1, 2, 2, 0, 0, 7, 7]
]
)
from keras.utils import np_utils
Using TensorFlow backend.
>>> y_train=np_utils.to_categorical(y_train,nb_classes=2) --把分类标志变成categorical格式,这里是二分类的情况,所以nb_classes=2
>>> print y_train[:3]
[[ 1. 0.]
[ 1. 0.]
[ 1. 0.]]
>>> X_test,y_test=np.loadtxt('/home/hadoop/py_test.txt',unpack='true')
>>> y_test=np_utils.to_categorical(y_test,nb_classes=2)
>>> from keras.models import Sequential
>>> from keras.layers import Dense,Activation
>>> from keras.optimizers import RMSprop
>>> model=Sequential([Dense(4,input_dim=8),Activation('relu'),Dense(2),Activation('softmax')])
>>>rmsprop=RMSprop(lr=0.001,rho=0.9,epsilon=1e-08,decay=0.0)
>>> model.compile(optimizer=rmsprop,loss='categorical_crossentropy',metrics=['accuracy'])
>>> model.fit(x,y_train,nb_epoch=2,batch_size=4)
#训练两次的结果
Epoch 1/2
16/16 [==============================] - 0s - loss: 3.1792 - acc: 0.3125
Epoch 2/2
16/16 [==============================] - 0s - loss: 2.9554 - acc: 0.3125
<keras.callbacks.History object at 0x7f075db1af90>
>>> model.fit(x,y_train,nb_epoch=100,batch_size=4)
Epoch 1/100
16/16 [==============================] - 0s - loss: 2.7971 - acc: 0.3125
Epoch 2/100
16/16 [==============================] - 0s - loss: 2.6670 - acc: 0.3125
Epoch 3/100
16/16 [==============================] - 0s - loss: 2.5527 - acc: 0.3125
Epoch 4/100
16/16 [==============================] - 0s - loss: 2.4442 - acc: 0.3125
Epoch 5/100
16/16 [==============================] - 0s - loss: 2.3397 - acc: 0.3125
...
Epoch 72/100
16/16 [==============================] - 0s - loss: 0.5435 - acc: 0.8750
Epoch 73/100
16/16 [==============================] - 0s - loss: 0.5418 - acc: 0.8750
Epoch 74/100
16/16 [==============================] - 0s - loss: 0.5381 - acc: 0.8750
Epoch 75/100
16/16 [==============================] - 0s - loss: 0.5349 - acc: 0.8750
Epoch 76/100
16/16 [==============================] - 0s - loss: 0.5333 - acc: 0.8750
Epoch 77/100
16/16 [==============================] - 0s - loss: 0.5329 - acc: 0.8750
Epoch 78/100
16/16 [==============================] - 0s - loss: 0.5292 - acc: 0.8750
Epoch 79/100
16/16 [==============================] - 0s - loss: 0.5266 - acc: 0.8750
Epoch 80/100
16/16 [==============================] - 0s - loss: 0.5281 - acc: 0.8750
Epoch 81/100
16/16 [==============================] - 0s - loss: 0.5235 - acc: 0.8750
Epoch 82/100
16/16 [==============================] - 0s - loss: 0.5232 - acc: 0.8750
Epoch 83/100
16/16 [==============================] - 0s - loss: 0.5208 - acc: 0.8750
Epoch 84/100
16/16 [==============================] - 0s - loss: 0.5205 - acc: 0.8750
Epoch 85/100
16/16 [==============================] - 0s - loss: 0.5181 - acc: 0.8750
Epoch 86/100
16/16 [==============================] - 0s - loss: 0.5178 - acc: 0.8750
Epoch 87/100
16/16 [==============================] - 0s - loss: 0.5153 - acc: 0.8750
Epoch 88/100
16/16 [==============================] - 0s - loss: 0.5138 - acc: 0.8750
Epoch 89/100
16/16 [==============================] - 0s - loss: 0.5143 - acc: 0.8750
Epoch 90/100
16/16 [==============================] - 0s - loss: 0.5110 - acc: 0.8750
Epoch 91/100
16/16 [==============================] - 0s - loss: 0.5108 - acc: 0.8750
Epoch 92/100
16/16 [==============================] - 0s - loss: 0.5092 - acc: 0.8750
Epoch 93/100
16/16 [==============================] - 0s - loss: 0.5084 - acc: 0.8750
Epoch 94/100
16/16 [==============================] - 0s - loss: 0.5065 - acc: 0.8750
Epoch 95/100
16/16 [==============================] - 0s - loss: 0.5058 - acc: 0.8750
Epoch 96/100
16/16 [==============================] - 0s - loss: 0.5059 - acc: 0.8750
Epoch 97/100
16/16 [==============================] - 0s - loss: 0.5046 - acc: 0.8750
Epoch 98/100
16/16 [==============================] - 0s - loss: 0.5039 - acc: 0.8750
Epoch 99/100
16/16 [==============================] - 0s - loss: 0.5028 - acc: 0.8750
Epoch 100/100
16/16 [==============================] - 0s - loss: 0.5036 - acc: 0.8750
<keras.callbacks.History object at 0x7f075d940f10>
上面是寻量100次的结果,可见loss一直在降,但是准确率却没有再上升,停留在0.875
下面是在测试集合上验证
>>> loss,accuracy=model.evaluate(x,y_test)
16/16 [==============================] - 0s
>>> print loss
0.501516342163
>>> print accuracy
0.875
Keras的更多相关文章
- [Keras] Develop Neural Network With Keras Step-By-Step
简单地训练一个四层全连接网络. Ref: http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/ 1 ...
- keras 中如何自定义损失函数
http://lazycoderx.com/2016/10/09/keras%E4%BF%9D%E5%AD%98%E6%A8%A1%E5%9E%8B%E6%97%B6%E4%BD%BF%E7%94%A ...
- keras安装
找对工具真的很重要,周末和学霸折腾了一天才装了几个包,问了同事找了一个方便的包,装起来不要太快啊.二十分钟全部搞定. 一.Anaconda 真是大杀器,牛到飞起来,一键部署,所有常用的机器学习包全部包 ...
- ubuntu系统theano和keras的安装
说明:系统是unbuntu14.04LTS,32位的操作系统,以前安装了python3.4,现在想要安装theano和keras.步骤如下: 1,安装pip sudo apt-get install ...
- neurosolutions 人工神经网络集成开发环境 keras
人工神经网络集成开发环境 : http://www.neurosolutions.com/ keras: https://github.com/fchollet/keras 文档 http ...
- Keras官方Example里Mnist-cnn的调试运行
问题:老板让测试运行Keras官网里的Mnist-cnn.py,结果从下载数据就是一路坑-- 当前环境:Ubuntu12.04.python2.7.Keras 1.1.1(不知道这个版本号对不对,在启 ...
- [Keras] mnist with cnn
典型的卷积神经网络. Keras傻瓜式读取数据:自动下载,自动解压,自动加载. # X_train: array([[[[ 0., 0., 0., ..., 0., 0., 0.], [ 0., 0. ...
- [Keras] Install and environment setting
Documentation: https://keras.io/ 1. 利用anaconda 管理python库是明智的选择. conda update conda conda update anac ...
- linux install Theano+Tensorflow+Keras
安装过程中,网络状态一定要好,如果安装过程中出现time out的提示信息,今天就可以洗洗睡啦,等明天网络状态好的时候再安装. 安装过程出现不知名的错误的时候,执行第一步,update一下 1.#up ...
- Keras学习~试用卷积~跑CIFAR-10
import numpy as np import cPickle import keras as ks from keras.layers import Dense, Activation, Fla ...
随机推荐
- MVC 关于easyui-datebox 赋值问题
view <script type="text/javascript"> $(function () { var date = '@ViewData["end ...
- Swift: 比较Swift中闭包传值、OC中的Block传值
一.介绍 开发者对匿名函数应该很清楚,其实它就是一个没有名字的函数或者方法,给人直观的感觉就是只能看到参数和返回值.在iOS开发中中,它又有自己的称呼,在OC中叫Block代码块,在Swift中叫闭包 ...
- Django知识(二)
上一部链接 django入门全套(第一部) 本章内容 Django model Model 基础配置 django默认支持sqlite,mysql, oracle,postgresql数据库. < ...
- struts-标签
通用标签 url 动态创建url 属性 value="url" var="压入Map栈的key" action="请求名" method=& ...
- Java学习手记2——多线程
一.线程的概念 CPU执行程序,就好比一个人在干事情一样,同一个时间你只能做一件事情,但是这样的效率实在是太低了,在你用电脑的时候,听歌就不能浏览网页,看电影就不能下载视频,你想想是不是很蛋疼. 所以 ...
- JavaScript中数组操作常用方法
JavaScript中数组操作常用方法 1.检测数组 1)检测对象是否为数组,使用instanceof 操作符 if(value instanceof Array) { //对数组执行某些操作 } 2 ...
- 家长-Parents表增加字段Token,Gender,Email,Portrait
家长-Parents表增加字段Token,Gender,Email,Portrait ) ) ) )
- URL跳转的几种方式
1.HTML: ①. <head> <!-- 以下方式只是刷新不跳转到其他页面 --> <meta http-equiv="refresh" cont ...
- java 文件上传
java 上传文件 如果不依赖框架的话 要利用 Apache 中几个jar文件来处理 1. 给表单设置enctype属性,其值为 "multipart/form-data" ...
- MySql SELECT INTO 记录为空的问题
SELECT Id INTO @Id FROM GiftCode WHERE Status = 1 AND GiftId = #GiftId# ORDER BY Id ASC LIMIT 1; ...