from pug.data import weather
df = weather.fresno
print(df.describe())
Max TemperatureF Mean TemperatureF Min TemperatureF Max Dew PointF \ count 1461.000000 1461.000000 1461.000000 1461.000000 mean 79.261465 66.875428 54.007529 49.403149 std 16.350864 14.010400 12.265078 7.492898 min 40.000000 38.000000 27.000000 25.000000 25% 65.000000 55.000000 45.000000 45.000000 50% 79.000000 66.000000 53.000000 50.000000 75% 95.000000 80.000000 65.000000 55.000000 max 111.000000 95.000000 82.000000 67.000000 MeanDew PointF Min DewpointF Max Humidity Mean Humidity \ count 1461.000000 1461.000000 1461.000000 1461.000000 mean 44.780972 38.498973 74.214921 52.416153 std 7.452126 8.439846 15.742676 15.397896 min 18.000000 4.000000 28.000000 19.000000 25% 40.000000 33.000000 61.000000 40.000000 50% 45.000000 39.000000 76.000000 50.000000 75% 51.000000 45.000000 87.000000 64.000000 max 63.000000 58.000000 100.000000 95.000000 Min Humidity Max Sea Level PressureIn Mean Sea Level PressureIn \ count 1461.000000 1461.000000 1461.000000 mean 30.114305 30.056324 29.991485 std 16.621242 0.163034 0.160462 min 4.000000 29.670000 29.550000 25% 17.000000 29.930000 29.870000 50% 26.000000 30.040000 29.970000 75% 40.000000 30.170000 30.110000 max 89.000000 30.600000 30.540000 Min Sea Level PressureIn Max VisibilityMiles Mean VisibilityMiles \ count 1461.000000 1461.000000 1461.000000 mean 29.925079 9.595483 8.713210 std 0.162644 1.286902 2.210008 min 29.470000 2.000000 1.000000 25% 29.800000 10.000000 8.000000 50% 29.900000 10.000000 10.000000 75% 30.040000 10.000000 10.000000 max 30.500000 10.000000 10.000000 Min VisibilityMiles Max Wind SpeedMPH Mean Wind SpeedMPH \ count 1461.000000 1461.000000 1461.000000 mean 7.028747 13.415469 5.285421 std 3.296614 4.982216 3.117557 min 0.000000 4.000000 0.000000 25% 4.000000 9.000000 3.000000 50% 8.000000 13.000000 5.000000 75% 10.000000 16.000000 7.000000 max 10.000000 33.000000 17.000000 Max Gust SpeedMPH CloudCover count 1322.000000 1461.000000 mean 18.450832 2.850787 std 6.152202 2.395411 min 6.000000 0.000000 25% 14.000000 1.000000 50% 18.000000 2.000000 75% 22.000000 5.000000 max 45.000000 8.000000
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.]]
nn = util.build_neural_net(ds)
print(nn)
FeedForwardNetwork-26 Modules: [<LinearLayer 'input'>, <LinearLayer 'hidden'>, <LinearLayer 'output'>] Connections: [<FullConnection 'FullConnection-24': 'input' -> 'hidden'>, <FullConnection 'FullConnection-25': 'hidden' -> 'output'>]
train = util.pb.supervised.RPropMinusTrainer(nn)
print(train)
<RPropMinusTrainer 'RPropMinusTrainer-27'>
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])