In [44]:
import pickle
import pandas as pd
import numpy as np
import random
from sklearn import linear_model
from matplotlib import pyplot as plt

In [2]:
%matplotlib notebook

In [9]:
results = pd.read_csv('/media/128G/bathhacked/BANES_Historic_Car_Park_Occupancy.csv', engine='c', parse_dates=['LastUpdate'], dayfirst=True)

In [10]:
results.reset_index()
results['LastUpdate2'] = results['LastUpdate']
results = results.set_index('LastUpdate')
results = results.sort_index()

In [110]:
results = results[results['Name'] == "Odd Down P+R"]
fig1 = plt.figure()
results['Percentage'].plot()


Out[110]:
<matplotlib.axes._subplots.AxesSubplot at 0x7f2a28a1be48>

In [111]:
def hr_func(ts):
    return ts.hour

results['time_hour'] = results['LastUpdate2'].apply(hr_func)

def min_func(ts):
    return ts.minute

results['time_min'] = results['LastUpdate2'].apply(min_func)

In [112]:
def day_of_month(ts):
    return ts.day

results['day_of_month'] = results['LastUpdate2'].apply(day_of_month)

In [113]:
def month(ts):
    return ts.month

results['month'] = results['LastUpdate2'].apply(month)

def year(ts):
    return ts.year

results['year'] = results['LastUpdate2'].apply(year)

def weekday(ts):
    return ts.weekday()

results['weekday'] = results['LastUpdate2'].apply(weekday)

In [ ]:


In [114]:
training = results[(results['year'] <= 2015) | ((results['year'] == 2016) & (results['month'] < 9))]
test = results[(results['year'] == 2016) & (results['month'] >= 9)]

feature_names = ['year','month','day_of_month','weekday','time_hour','time_min']

train_features = training[feature_names]
train_occupancy = training['Percentage']
test_features = test[feature_names]
test_occupancy = test['Percentage']

In [ ]:


In [115]:
regressor = linear_model.LinearRegression()
regressor.fit( train_features, train_occupancy)


Out[115]:
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)

In [116]:
predictions = regressor.predict(test_features)
#predictions.size
test['prediction'] = predictions

test


/home/tom/.pyenv/versions/3.5.2/envs/betfair-python3.5/lib/python3.5/site-packages/ipykernel/__main__.py:3: SettingWithCopyWarning: 
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead

See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
  app.launch_new_instance()
Out[116]:
ID Name Description Capacity Status Occupancy Percentage Easting Northing DateUploaded Location LastUpdate2 time_hour day_of_month month year weekday time_min prediction
LastUpdate
2016-09-01 00:03:50 66cb86348a7577eca71d58499882af8d Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 12:05:02 AM (51.352935229, -2.38389427175) 2016-09-01 00:03:50 0 1 9 2016 3 3 12.751650
2016-09-01 00:09:50 717440be9b086933fe6b2d4e18afc68c Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 12:10:01 AM (51.352935229, -2.38389427175) 2016-09-01 00:09:50 0 1 9 2016 3 9 12.766413
2016-09-01 00:11:50 1c7ff064e6a87da02aaf183a28bcac7b Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 12:15:02 AM (51.352935229, -2.38389427175) 2016-09-01 00:11:50 0 1 9 2016 3 11 12.771334
2016-09-01 00:19:51 da0405866309014de7843e7c451c9362 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 12:20:01 AM (51.352935229, -2.38389427175) 2016-09-01 00:19:51 0 1 9 2016 3 19 12.791019
2016-09-01 00:23:51 4e1c829caf7293b11f4fef50e2baab98 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 12:25:02 AM (51.352935229, -2.38389427175) 2016-09-01 00:23:51 0 1 9 2016 3 23 12.800861
2016-09-01 00:29:51 fdbbb6c7ce401f5b7d404c856ee57a60 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 12:30:02 AM (51.352935229, -2.38389427175) 2016-09-01 00:29:51 0 1 9 2016 3 29 12.815624
2016-09-01 00:33:50 f4eddb457b7b3d9d8856a43d91c547ed Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 12:35:01 AM (51.352935229, -2.38389427175) 2016-09-01 00:33:50 0 1 9 2016 3 33 12.825466
2016-09-01 00:39:52 be5bb9e937aba0dfe7b7241261423c6b Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 12:40:01 AM (51.352935229, -2.38389427175) 2016-09-01 00:39:52 0 1 9 2016 3 39 12.840229
2016-09-01 00:43:51 6f62c55622cbc7609a8620daf6f1ff24 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 12:45:01 AM (51.352935229, -2.38389427175) 2016-09-01 00:43:51 0 1 9 2016 3 43 12.850072
2016-09-01 00:48:50 d0bfa4508bdc430897de35a499033cf9 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 12:50:02 AM (51.352935229, -2.38389427175) 2016-09-01 00:48:50 0 1 9 2016 3 48 12.862374
2016-09-01 00:53:52 84b79c18357588e1f51b8f2affe3b7d1 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 12:55:02 AM (51.352935229, -2.38389427175) 2016-09-01 00:53:52 0 1 9 2016 3 53 12.874677
2016-09-01 00:59:51 06d56bf8d0a87fd20ff0e3df93e96729 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 01:00:01 AM (51.352935229, -2.38389427175) 2016-09-01 00:59:51 0 1 9 2016 3 59 12.889440
2016-09-01 01:03:52 edb3619cbd12b7c2912c1b50a7ce7af4 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 01:05:02 AM (51.352935229, -2.38389427175) 2016-09-01 01:03:52 1 1 9 2016 3 3 13.188070
2016-09-01 01:09:51 89531a8def191b4ef47de3500e77fa5a Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 01:10:01 AM (51.352935229, -2.38389427175) 2016-09-01 01:09:51 1 1 9 2016 3 9 13.202834
2016-09-01 01:13:51 040292413043b9ffa63b83dde0e41eca Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 01:15:02 AM (51.352935229, -2.38389427175) 2016-09-01 01:13:51 1 1 9 2016 3 13 13.212676
2016-09-01 01:19:50 142888fabee87b79b9220ff2f659cb7e Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 01:20:01 AM (51.352935229, -2.38389427175) 2016-09-01 01:19:50 1 1 9 2016 3 19 13.227439
2016-09-01 01:20:51 31cf370d9e2f2cab2ea5fd2b49719865 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 01:25:01 AM (51.352935229, -2.38389427175) 2016-09-01 01:20:51 1 1 9 2016 3 20 13.229900
2016-09-01 01:29:51 9240af4fa3f3a8216d7b53fd48293e20 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 01:30:02 AM (51.352935229, -2.38389427175) 2016-09-01 01:29:51 1 1 9 2016 3 29 13.252044
2016-09-01 01:33:51 57b583e4d64c7c7431a5461284c11842 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 01:35:02 AM (51.352935229, -2.38389427175) 2016-09-01 01:33:51 1 1 9 2016 3 33 13.261887
2016-09-01 01:39:51 6aa7337f186e6294fec8a2781e65c3c0 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 01:40:01 AM (51.352935229, -2.38389427175) 2016-09-01 01:39:51 1 1 9 2016 3 39 13.276650
2016-09-01 01:43:51 78038ec9b7ec948bc03f53bf5172d667 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 01:45:01 AM (51.352935229, -2.38389427175) 2016-09-01 01:43:51 1 1 9 2016 3 43 13.286492
2016-09-01 01:48:50 62435a210c0d46979b596ce16613af4d Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 01:50:01 AM (51.352935229, -2.38389427175) 2016-09-01 01:48:50 1 1 9 2016 3 48 13.298795
2016-09-01 01:53:52 dc474a6acaf30844bcecf964cb93dff9 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 01:55:01 AM (51.352935229, -2.38389427175) 2016-09-01 01:53:52 1 1 9 2016 3 53 13.311097
2016-09-01 01:58:51 3cd568e91e7e62c0c383d90094fd256b Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 02:00:02 AM (51.352935229, -2.38389427175) 2016-09-01 01:58:51 1 1 9 2016 3 58 13.323400
2016-09-01 02:03:51 c208c697883c78691f79fb1fe29c49d9 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 02:05:01 AM (51.352935229, -2.38389427175) 2016-09-01 02:03:51 2 1 9 2016 3 3 13.624491
2016-09-01 02:07:51 522fb9f25c19ceb328c3b621d256af71 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 02:10:01 AM (51.352935229, -2.38389427175) 2016-09-01 02:07:51 2 1 9 2016 3 7 13.634333
2016-09-01 02:13:52 ec356a5c86c72fa7a407a0c6228471f5 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 02:15:02 AM (51.352935229, -2.38389427175) 2016-09-01 02:13:52 2 1 9 2016 3 13 13.649096
2016-09-01 02:19:52 eb63e4eda35cdbf88228f188ca57b378 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 02:20:01 AM (51.352935229, -2.38389427175) 2016-09-01 02:19:52 2 1 9 2016 3 19 13.663859
2016-09-01 02:23:51 b3f81965099f6d235fdc294d614ccfde Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 02:25:02 AM (51.352935229, -2.38389427175) 2016-09-01 02:23:51 2 1 9 2016 3 23 13.673701
2016-09-01 02:28:51 da6b9b50a974780236429514d04cbd25 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 20 2 373363.0 161610.0 01/09/2016 02:30:02 AM (51.352935229, -2.38389427175) 2016-09-01 02:28:51 2 1 9 2016 3 28 13.686004
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2016-11-09 12:49:49 cd3723244c008e96bcb1a7260ebea447 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Filling 776 62 373363.0 161610.0 09/11/2016 12:50:02 PM (51.352935229, -2.38389427175) 2016-11-09 12:49:49 12 9 11 2016 2 49 19.989148
2016-11-09 12:54:48 fd57fb0511ff64b890feae35e631bcba Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Static 772 62 373363.0 161610.0 09/11/2016 12:55:02 PM (51.352935229, -2.38389427175) 2016-11-09 12:54:48 12 9 11 2016 2 54 20.001450
2016-11-09 12:58:50 aa2da37bc41ba8388001571adc1d66a0 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 766 61 373363.0 161610.0 09/11/2016 01:00:02 PM (51.352935229, -2.38389427175) 2016-11-09 12:58:50 12 9 11 2016 2 58 20.011292
2016-11-09 13:04:51 5335d11676a4ec36aac734284787a8b2 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 764 61 373363.0 161610.0 09/11/2016 01:05:02 PM (51.352935229, -2.38389427175) 2016-11-09 13:04:51 13 9 11 2016 2 4 20.314844
2016-11-09 13:09:49 23f54ba616d32b22c070d22819d7d612 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 763 61 373363.0 161610.0 09/11/2016 01:10:02 PM (51.352935229, -2.38389427175) 2016-11-09 13:09:49 13 9 11 2016 2 9 20.327146
2016-11-09 13:14:49 c2c3a6fa0c384a7d6cafa06ee167df56 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 760 61 373363.0 161610.0 09/11/2016 01:15:02 PM (51.352935229, -2.38389427175) 2016-11-09 13:14:49 13 9 11 2016 2 14 20.339449
2016-11-09 13:18:51 dfa883debf8c6f391ec32ce6e4a4b889 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 759 61 373363.0 161610.0 09/11/2016 01:20:02 PM (51.352935229, -2.38389427175) 2016-11-09 13:18:51 13 9 11 2016 2 18 20.349291
2016-11-09 13:24:48 8fa88468379b77c25fbdf5fec17c07b6 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 749 60 373363.0 161610.0 09/11/2016 01:25:02 PM (51.352935229, -2.38389427175) 2016-11-09 13:24:48 13 9 11 2016 2 24 20.364055
2016-11-09 13:29:49 51e0863749cc2b8b417f68a2a057cd67 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 750 60 373363.0 161610.0 09/11/2016 01:30:01 PM (51.352935229, -2.38389427175) 2016-11-09 13:29:49 13 9 11 2016 2 29 20.376357
2016-11-09 13:34:52 8afc5ad62e7f65cdb8ae11bdbb407579 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 731 58 373363.0 161610.0 09/11/2016 01:35:01 PM (51.352935229, -2.38389427175) 2016-11-09 13:34:52 13 9 11 2016 2 34 20.388660
2016-11-09 13:39:49 9db49c05c19c69df6e5c21d9bbd82511 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 732 58 373363.0 161610.0 09/11/2016 01:40:01 PM (51.352935229, -2.38389427175) 2016-11-09 13:39:49 13 9 11 2016 2 39 20.400963
2016-11-09 13:44:49 0b1a0477fb3520b5226f2bae465f844d Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 724 58 373363.0 161610.0 09/11/2016 01:45:01 PM (51.352935229, -2.38389427175) 2016-11-09 13:44:49 13 9 11 2016 2 44 20.413265
2016-11-09 13:49:50 d71055a9d22b9b2ec0b87314e5f44e70 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 711 57 373363.0 161610.0 09/11/2016 01:50:01 PM (51.352935229, -2.38389427175) 2016-11-09 13:49:50 13 9 11 2016 2 49 20.425568
2016-11-09 13:54:49 bc7f44ea858c3ad781104d5be46c68a1 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 712 57 373363.0 161610.0 09/11/2016 01:55:01 PM (51.352935229, -2.38389427175) 2016-11-09 13:54:49 13 9 11 2016 2 54 20.437871
2016-11-09 13:59:50 fd8013522523445cde27575dc0b97786 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 702 56 373363.0 161610.0 09/11/2016 02:00:02 PM (51.352935229, -2.38389427175) 2016-11-09 13:59:50 13 9 11 2016 2 59 20.450173
2016-11-09 14:04:49 aa3f45106afbf10202b879e9814b1e32 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 702 56 373363.0 161610.0 09/11/2016 02:05:02 PM (51.352935229, -2.38389427175) 2016-11-09 14:04:49 14 9 11 2016 2 4 20.751264
2016-11-09 14:09:49 ec0cdbe1c58d8a707c2f91942e63491e Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 694 55 373363.0 161610.0 09/11/2016 02:10:02 PM (51.352935229, -2.38389427175) 2016-11-09 14:09:49 14 9 11 2016 2 9 20.763567
2016-11-09 14:14:50 54565404f5036dba3f5b3146164313e8 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 695 56 373363.0 161610.0 09/11/2016 02:15:02 PM (51.352935229, -2.38389427175) 2016-11-09 14:14:50 14 9 11 2016 2 14 20.775869
2016-11-09 14:19:49 1b6f6603147364d102967b9763a0f2bf Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 700 56 373363.0 161610.0 09/11/2016 02:20:02 PM (51.352935229, -2.38389427175) 2016-11-09 14:19:49 14 9 11 2016 2 19 20.788172
2016-11-09 14:24:49 8d1330291012ca263c12d7cce45339b6 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 683 55 373363.0 161610.0 09/11/2016 02:25:02 PM (51.352935229, -2.38389427175) 2016-11-09 14:24:49 14 9 11 2016 2 24 20.800475
2016-11-09 14:29:51 f1922115e1e0a6e65b72cc95829ebaba Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 679 54 373363.0 161610.0 09/11/2016 02:30:03 PM (51.352935229, -2.38389427175) 2016-11-09 14:29:51 14 9 11 2016 2 29 20.812777
2016-11-09 14:34:49 41ba9fb04f0e40322984e2873170317b Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 673 54 373363.0 161610.0 09/11/2016 02:35:02 PM (51.352935229, -2.38389427175) 2016-11-09 14:34:49 14 9 11 2016 2 34 20.825080
2016-11-09 14:39:49 ba995526b7436aad62e995bfd794ef08 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 666 53 373363.0 161610.0 09/11/2016 02:40:02 PM (51.352935229, -2.38389427175) 2016-11-09 14:39:49 14 9 11 2016 2 39 20.837383
2016-11-09 14:44:50 60bad8589821c7fcf63ecf92ed020102 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 662 53 373363.0 161610.0 09/11/2016 02:45:02 PM (51.352935229, -2.38389427175) 2016-11-09 14:44:50 14 9 11 2016 2 44 20.849686
2016-11-09 14:48:50 8062c3426728be2a3169a7d662443999 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 645 52 373363.0 161610.0 09/11/2016 02:50:01 PM (51.352935229, -2.38389427175) 2016-11-09 14:48:50 14 9 11 2016 2 48 20.859528
2016-11-09 14:59:52 acfa3469836c6d8cf2f7859a14cf06df Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 623 50 373363.0 161610.0 09/11/2016 03:00:02 PM (51.352935229, -2.38389427175) 2016-11-09 14:59:52 14 9 11 2016 2 59 20.886594
2016-11-09 15:04:49 92a226379166b527239e3020d9ab32ee Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 618 49 373363.0 161610.0 09/11/2016 03:05:27 PM (51.352935229, -2.38389427175) 2016-11-09 15:04:49 15 9 11 2016 2 4 21.187684
2016-11-09 15:09:49 473db0c03411acd87ae7dab1272f5a95 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 606 48 373363.0 161610.0 09/11/2016 03:10:02 PM (51.352935229, -2.38389427175) 2016-11-09 15:09:49 15 9 11 2016 2 9 21.199987
2016-11-09 15:14:51 838192d963b7873682fa5eecbb5892c8 Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 599 48 373363.0 161610.0 09/11/2016 03:15:02 PM (51.352935229, -2.38389427175) 2016-11-09 15:14:51 15 9 11 2016 2 14 21.212290
2016-11-09 15:19:50 0afaec917d6533d2c131dfee89824f6f Odd Down P+R Odd Down P+R / A367 / P+R / Bath 1252 Emptying 589 47 373363.0 161610.0 09/11/2016 03:20:02 PM (51.352935229, -2.38389427175) 2016-11-09 15:19:50 15 9 11 2016 2 19 21.224592

16746 rows × 19 columns


In [117]:
# The coefficients
print('Coefficients: \n', list(zip(feature_names, regressor.coef_)))


Coefficients: 
 [('year', -2.6509150126261174), ('month', 0.26784533609220829), ('day_of_month', -0.13937034333691994), ('weekday', -2.4665412799690194), ('time_hour', 0.43642029922232484), ('time_min', 0.0024605364095026151)]

In [118]:
# The mean squared error
print("Mean squared error: %.2f"
      % np.mean((regressor.predict(test_features) - test_occupancy) ** 2))


Mean squared error: 499.32

In [119]:
# Explained variance score: 1 is perfect prediction
print('Variance score: %.2f' % regressor.score(test_features, test_occupancy))


Variance score: -0.03

In [120]:
fig2 = plt.figure()
test['Percentage'].plot()
test['prediction'].plot()


Out[120]:
<matplotlib.axes._subplots.AxesSubplot at 0x7f2a1db9dfd0>

In [100]:



Out[100]:
<matplotlib.axes._subplots.AxesSubplot at 0x7f2a77f37a20>

In [ ]: