pybrain的安装及使用
来源:互联网 发布:侠义英雄坐骑进阶数据 编辑:程序博客网 时间:2024/06/06 00:23
首先要安装
nose,numpy,scipy,才能安装pybrain 包,同时很多人推荐安装setuptools Python 2.7,方便安装pybrain的包。
安装setup-tools的方法
网址,https://pypi.python.org/pypi/setuptools#downloads,然后进入cmd进入根目录,python setup.py install安装
安装nose比较简单,和上面一样。
安装Numpy可以用setup-tools安装,cmd下输入easy-install Numpy
安装scipy直接到官网下载.exe文件一路点下一步即可.
最后是pybrain,参照这个博客http://luckyshilin.lofter.com/post/1cf85fed_5104521,主要是利用setup-tools安装.
一定要注意安装顺序.
快速上手numpy http://old.sebug.net/paper/books/scipydoc/numpy_intro.html
接下去就是pybrain的使用,首先说明一点,明确你是做回归还是做数据拟合,官网上的资料只有数据回归,而且pybrain的资料太少。
一开始我想使用最简单的f(x)=x来测试结果很差劲,发现所有输入层和输出层的数据必须归一化,这是关键。.归一化简单来说就是(值-整体向量最小值)/(整体向量最大值-整体向量最小值)
然后我的输入层和输出层都是0~1的数据,构建神经网络并训练,最后将需要拟合的值添加到原来的向量中,求出它的值(这个至是归一化过的)然后*(整体向量最大值-整体向量最小值)+整体向量最小值即可得到,效果不错。
神经网络进行数据拟合的优势就是在于不需要知道关系式,尤其是针对非线性拟合时(不知道关系式),当然缺点就是求不出表达式,就算求出来的那个也没有实际意义(只是计算机认为的合理)。
比如这里拟合y=x1+100*x2(注意这里数据是这样取得,但是我并不知道表达式,如果我就给你数据,运用其他方式是很难拟合的)
import numpy as npfrom pybrain.datasets import SupervisedDataSetfrom pybrain.supervised.trainers import BackpropTrainerfrom pybrain.tools.shortcuts import buildNetworkfrom pybrain.structure.modules import TanhLayerfnn=buildNetwork(2,30,8,1,bias=True)#第一个2是输入层的数据元(简单理解为有几个变量吧),第四个1是输出层的数据元(简单理解为因变量的个数)train=np.array([0,1,2,4,5,6,7,8])#第一个自变量向量train2=np.array([1,2,3,5,6,7,8,9])#第二个自变量向量label=np.array([100,201,302,504,605,706,807,908])#因变量tmax=train.max()#归一化tmin=train.min()train=(train-tmin)*1.0/(tmax-tmin)tmin2=train2.min()tmax2=train2.max()train2=(train2-tmin2)*1.0/(tmax2-tmin2)lmax=label.max();lmin=label.min();label=(label-lmin)*1.0/(lmax-lmin)ds=SupervisedDataSet(2,1)for i in range(len(train)): ds.addSample([train[i],train2[i]],[label[i]])x=ds['input']//这里可以输出看看输入层的数据和输出层的数据(当然你可以省略)y=ds['target']print xprint ytrainer=BackpropTrainer(fnn,ds,momentum=0.1, verbose=True,learningrate=0.1)trainer.trainEpochs(epochs=100)#迭代次数train=np.array([0,1,2,4,5,6,7,8])train2=np.array([1,2,3,5,6,7,8,9])label=np.array([100,201,302,504,605,706,807,908])train=np.hstack((train,np.array([3])))#添加自变量1 为3print traintrain2=np.hstack((train2,np.array([4])))#添加自变量2 为4label=np.hstack((label,np.array([403])))#添加因变量为403(4*100+3)tmax=train.max()tmin=train.min()train=(train-tmin)*1.0/(tmax-tmin)tmin2=train2.min()tmax2=train2.max()train2=(train2-tmin2)*1.0/(tmax2-tmin2)lmax=label.max();lmin=label.min();label=(label-lmin)*1.0/(lmax-lmin)out=SupervisedDataSet(2,1)for i in range(len(train)): out.addSample([train[i],train2[i]],[label[i]])out =fnn.activateOnDataset(out)train=np.array([0,1,2,4,5,6,7,8])train2=np.array([1,2,3,5,6,7,8,9])out=out*(lmax-lmin)+lmin#求得原始数据print out
- pybrain的安装及使用
- Pybrain 使用
- pybrain 的安装及报错 ImportError:No module named structure的解决方案
- 如何安装pybrain?
- Python安装pybrain
- 安装pybrain方法
- PyBrain使用简介
- 安装pybrain 机器学习包
- 安装pybrain之后import pybrain出现cannot import name 'expm2'
- Pybrain学习笔记-3 使用Pybrain构建前馈神经网络
- PyBrain-Python的人工神经网络
- windows8.1上python3.5安装pybrain
- Python的编码风格与Pybrain
- pybrain的神经网络文档部分翻译
- 使用sklearn与pybrain预测搜索相关性实战
- 解决pybrain的No module named 'structure' 问题
- python学习:机器学习下的pybrain和多线程编程
- cvs 的安装及使用
- git命令运用
- 补C++ 2
- Q391判断是否为平衡二叉树(递归实现)
- STL之vector的内存
- 零碎笔记(五)
- pybrain的安装及使用
- Redis入门级指南---客户端命令基本操作
- C++补交实验二
- WebView使用--文章集锦
- 简单排序
- IOC_Spring注入方式(injection)
- 如何管理知识
- Image 的 src和background的区别(android更换主题时遇到的坑)
- 【翻译】Tweepy 3.5.0 Doc (6) Streaming With Tweepy