In [3]:
from pug.ann.data import weather
df = weather.fresno
from pug.ann import util
ds = util.pybrain_dataset_from_dataframe(df)
nn = util.build_ann(ds)
print(nn)
train = util.pb.supervised.RPropMinusTrainer(nn)
print(train)
ans = train.trainUntilConvergence(ds, maxEpochs=10, verbose=True)
print(ans)
FeedForwardNetwork-19
Modules:
[<LinearLayer 'input'>, <LinearLayer 'hidden'>, <LinearLayer 'output'>]
Connections:
[<FullConnection 'FullConnection-17': 'hidden' -> 'output'>, <FullConnection 'FullConnection-18': 'input' -> 'hidden'>]
<RPropMinusTrainer 'RPropMinusTrainer-20'>
('train-errors:', '[3119.2 , 2989.65 , 2856.48 , 2692.71 , 2477.13 , 2194.92 , 1837.67 , 1408.75 , 929.467 , 498.889 , 379.895 , 562.296 , 344.098 , 296.028 , 337.392 , 236.166 , 191.756 , 207.568 , 155.434 , 132.953 , 162.599 , 135.442 , 130.834 , 136.247 , 131.107 , 130.834 , 131.753 , 130.4 , 130.834 , 130.529 , 130.356 , 130.591 , 130.355 , 130.348 , 130.349 , 130.323 , 130.352 , 130.323 , 130.322 , 130.324 , 130.321 , 130.322 , 130.321 , 130.321 , 130.321 , 130.32 , 130.32 , 130.32 , 130.32 , 130.32 , 130.32 ]')
('valid-errors:', '[3073 , 2946.52 , 2816.56 , 2656.81 , 2446.67 , 2171.84 , 1824.52 , 1408.76 , 939.695 , 520.368 , 407.416 , 577.045 , 362.589 , 313.535 , 348.204 , 244.815 , 195.946 , 207.509 , 151.655 , 126.041 , 157.597 , 129.989 , 123.448 , 131.15 , 124.747 , 123.448 , 125.628 , 123.6 , 123.448 , 123.857 , 123.311 , 123.726 , 123.504 , 123.303 , 123.513 , 123.376 , 123.442 , 123.417 , 123.361 , 123.425 , 123.391 , 123.362 , 123.398 , 123.379 , 123.387 , 123.387 , 123.39 , 123.387 , 123.382 , 123.384 , 123.386 , 123.386 ]')
([3119.2043180688456, 2989.6535043867525, 2856.4762995614715, 2692.7105565643242, 2477.1345269163435, 2194.9234179322652, 1837.6746813748803, 1408.7514562114586, 929.46658299732826, 498.88898669438356, 379.8953844878954, 562.2962732861846, 344.0980353086955, 296.02827511924551, 337.39238529191175, 236.16604847658962, 191.75575381025754, 207.56773684774421, 155.43402572850661, 132.95261981942249, 162.59943187202634, 135.44218473959248, 130.83415610527905, 136.24696033597183, 131.1065909111573, 130.83415610527908, 131.75308477542595, 130.39967786958601, 130.83415610527905, 130.52903928817591, 130.35592362795185, 130.59068280973185], [3072.9950029700785, 2946.5239292227739, 2816.5586962119874, 2656.8125629531646, 2446.6664398023581, 2171.841958857231, 1824.5187476117537, 1408.7614329311411, 939.69512096165306, 520.36781805661496, 407.41617616518016, 577.04521586525914, 362.58914766291321, 313.5345691651475, 348.20422280180549, 244.81469563426663, 195.94551036473769, 207.50925743690479, 151.65478710625914, 126.04103981750126, 157.59699431769931, 129.98918724566533, 123.44823062502739, 131.14964159664487, 124.74702710463013, 123.44823062502742, 125.62773551059725, 123.60014603456747, 123.44823062502742, 123.85745965551784, 123.31105624109593, 123.72643747900499, 123.50408448208448])
In [10]:
from pug.ann import util
ds = util.pybrain_dataset_from_dataframe(df)
print(ds)
input: dim(2046, 3)
[[ 1.19325827 -0.20421695 -1.60169216]
[ 1.63790947 1.19325827 0.74860706]
[ 1.63790947 0.17691266 -1.28408415]
...,
[ 0.93917186 -0.14069535 -1.28408415]
[ 1.38382307 0.74860706 0.11339106]
[ 1.63790947 0.30395586 -1.02999775]]
target: dim(2046, 1)
[[ 50.]
[ 51.]
[ 55.]
...,
[ 54.]
[ 44.]
[ 46.]]
In [12]:
nn = util.build_ann()
print(nn)
train = util.pb.supervised.RPropMinusTrainer(nn, ds)
print(train)
FeedForwardNetwork-22
Modules:
[<LinearLayer 'input'>, <LinearLayer 'output'>]
Connections:
[<FullConnection 'FullConnection-21': 'input' -> 'output'>]
<RPropMinusTrainer 'RPropMinusTrainer-23'>
In [13]:
train.trainUntilConvergence(maxEpochs=50)
print(train)
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-13-0be8324d6ce0> in <module>()
----> 1 train.trainUntilConvergence(maxEpochs=50)
2 print(train)
/usr/src/projects/pybrain/pybrain/supervised/trainers/backprop.pyc in trainUntilConvergence(self, dataset, maxEpochs, verbose, continueEpochs, validationProportion, trainingData, validationData, convergence_threshold)
213 # validation.
214 trainingData, validationData = (
--> 215 dataset.splitWithProportion(1 - validationProportion))
216 if not (len(trainingData) > 0 and len(validationData)):
217 raise ValueError("Provided dataset too small to be split into training " +
AttributeError: 'NoneType' object has no attribute 'splitWithProportion'
Content source: hobson/pug-ann
Similar notebooks: