In [1]:
from pug.ann.data import weather
df = weather.daily('fresno')
print(df.describe())
Max TemperatureF Min TemperatureF Max Dew PointF MeanDew PointF \
count 11.000000 11.000000 11.000000 11.000000
mean 82.636364 82.636364 69.363636 69.363636
std 6.422970 6.422970 4.863594 4.863594
min 73.000000 73.000000 59.000000 59.000000
25% 79.000000 79.000000 68.000000 68.000000
50% 82.000000 82.000000 70.000000 70.000000
75% 86.500000 86.500000 72.500000 72.500000
max 95.000000 95.000000 75.000000 75.000000
Min DewpointF Max Humidity Mean Humidity Min Humidity \
count 11.000000 11.000000 11.000000 11.000000
mean 69.363636 65.727273 65.727273 65.727273
std 4.863594 17.158618 17.158618 17.158618
min 59.000000 30.000000 30.000000 30.000000
25% 68.000000 62.000000 62.000000 62.000000
50% 70.000000 70.000000 70.000000 70.000000
75% 72.500000 76.000000 76.000000 76.000000
max 75.000000 88.000000 88.000000 88.000000
Max Sea Level PressureIn Mean Sea Level PressureIn \
count 11.000000 11.000000
mean 29.853636 29.853636
std 0.087895 0.087895
min 29.690000 29.690000
25% 29.795000 29.795000
50% 29.870000 29.870000
75% 29.920000 29.920000
max 29.970000 29.970000
Min Sea Level PressureIn Max VisibilityMiles Mean VisibilityMiles \
count 11.000000 11.000000 11.000000
mean 29.853636 5.818182 5.818182
std 0.087895 0.404520 0.404520
min 29.690000 5.000000 5.000000
25% 29.795000 6.000000 6.000000
50% 29.870000 6.000000 6.000000
75% 29.920000 6.000000 6.000000
max 29.970000 6.000000 6.000000
Min VisibilityMiles Max Wind SpeedMPH Mean Wind SpeedMPH \
count 11.000000 11.000000 11.000000
mean 5.818182 7.818182 7.818182
std 0.404520 5.776126 5.776126
min 5.000000 0.000000 0.000000
25% 6.000000 4.000000 4.000000
50% 6.000000 8.000000 8.000000
75% 6.000000 12.000000 12.000000
max 6.000000 17.000000 17.000000
PrecipitationIn CloudCover WindDirDegrees
count 11 11.000000 11.000000
mean 0 3.545455 142.545455
std 0 1.213560 104.781070
min 0 3.000000 -1.000000
25% 0 3.000000 30.000000
50% 0 3.000000 190.000000
75% 0 3.000000 220.000000
max 0 6.000000 270.000000
In [2]:
from pug.ann import util
ds = util.pybrain_dataset_from_dataframe(df)
print(ds)
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-2-a6a849cda0c6> in <module>()
----> 1 from pug.ann import util
2 ds = util.pybrain_dataset_from_dataframe(df)
3 print(ds)
/home/hobs/.virtualenvs/totalgood/lib/python2.7/site-packages/pug/ann/util.py in <module>()
19 pb = pybrain
20 # from pybrain.supervised.trainers import Trainer
---> 21 from pybrain.tools.customxml import NetworkReader
22 from pybrain.structure.parametercontainer import ParameterContainer
23 from pybrain.structure.connections.connection import Connection
ImportError: No module named customxml
In [7]:
nn = util.build_ann(ds)
print(nn)
FeedForwardNetwork-26
Modules:
[<LinearLayer 'input'>, <LinearLayer 'hidden'>, <LinearLayer 'output'>]
Connections:
[<FullConnection 'FullConnection-24': 'input' -> 'hidden'>, <FullConnection 'FullConnection-25': 'hidden' -> 'output'>]
In [8]:
train = util.pb.supervised.RPropMinusTrainer(nn)
print(train)
<RPropMinusTrainer 'RPropMinusTrainer-27'>
In [9]:
ans = train.trainUntilConvergence(ds, maxEpochs=10, verbose=True)
print(ans)
('train-errors:', '[4139.9 , 3955.19 , 3783.37 , 3593.29 , 3361.81 , 3090.66 , 2774.69 , 2410.03 , 1998.28 , 1471.81 , 884.475 ]')
('valid-errors:', '[4089.56 , 3908.32 , 3739.71 , 3553.19 , 3326.07 , 3060.06 , 2750.15 , 2392.57 , 1988.98 , 1473.55 , 894.674 , 423.093 ]')
([4139.8960310591647, 3955.191433542142, 3783.3687206428003, 3593.2905941074878, 3361.8118032012608, 3090.6559403249894, 2774.687119950866, 2410.0314517727843, 1998.2758315700733, 1471.8059671912513], [4089.558608459422, 3908.3175470810306, 3739.7128566666015, 3553.1868896701071, 3326.0701954487186, 3060.0598032364178, 2750.1454518823525, 2392.5749056935315, 1988.9815833485743, 1473.5486603940292, 894.67433311603281])
Content source: hobson/talks
Similar notebooks: