Commit 481a13fc authored by Alahakoon K.M.R.A.B's avatar Alahakoon K.M.R.A.B

Merge branch 'it19170008' into 'master'

It19170008

See merge request !18
parents 7bbb8736 6190c846
import pandas as pd
import numpy as np
from statsmodels.tsa.stattools import adfuller
from pmdarima import auto_arima
from statsmodels.tsa.arima.model import ARIMA
from sklearn.metrics import mean_squared_error
from math import sqrt
import warnings
warnings.filterwarnings("ignore")
df = pd.read_csv('data.csv', index_col='Date', parse_dates=True)
df = df.dropna()
print('Shape of data', df.shape)
print(df.head())
def adf_test(dataset):
dftest = adfuller(dataset, autolag='AIC')
print("1. ADF : ", dftest[0])
print("2. P-Value : ", dftest[1])
print("3. Num Of Lags : ", dftest[2])
print("4. Num Of Observations Used For ADF Regression and Critical Values Calculation :", dftest[3])
print("5. Critical Values :")
for key, val in dftest[4].items():
print("\t", key, ": ", val)
adf_test(df['waiting_time'])
stepwise_fit = auto_arima(df['waiting_time'], suppress_warnings=True)
print(stepwise_fit.summary())
print(df.shape)
train = df.iloc[:-30]
test = df.iloc[-30:]
print(train.shape, test.shape)
print(test.iloc[0], test.iloc[-1])
model = ARIMA(train['waiting_time'], order=(1, 0, 0))
model = model.fit()
model.summary()
start = len(train)
end = len(train) + len(test) - 1
pred = model.predict(start=start, end=end, typ='levels').rename('ARIMA predictions')
# pred.index=index_future_dates
pred.plot(legend=True)
test['waiting_time'].plot(legend=True)
rmse = sqrt(mean_squared_error(pred, test['waiting_time']))
print(rmse)
model2 = ARIMA(df['waiting_time'], order=(1, 0, 0))
model2 = model2.fit()
df.tail()
model2.save('waiting_time.pkl')
This diff is collapsed.
Date,waiting_time
2020.06.01,60
2020.06.02,80
2020.06.03,50
2020.06.04,70
2020.06.05,80
2020.06.06,53
2020.06.07,16
2020.06.08,18
2020.06.09,58
2020.06.10,81
2020.06.11,1
2020.06.12,40
2020.06.13,15
2020.06.14,7
2020.06.15,76
2020.06.16,98
2020.06.17,73
2020.06.18,37
2020.06.19,79
2020.06.20,73
2020.06.21,66
2020.06.22,30
2020.06.23,9
2020.06.24,32
2020.06.25,96
2020.06.26,16
2020.06.27,100
2020.06.28,100
2020.06.29,24
2020.06.30,52
2020.07.01,75
2020.07.02,76
2020.07.03,57
2020.07.04,96
2020.07.05,54
2020.07.06,45
2020.07.07,10
2020.07.08,32
2020.07.09,12
2020.07.10,32
2020.07.11,31
2020.07.12,67
2020.07.13,54
2020.07.14,58
2020.07.15,38
2020.07.16,6
2020.07.17,37
2020.07.18,20
2020.07.19,85
2020.07.20,60
2020.07.21,41
2020.07.22,87
2020.07.23,62
2020.07.24,3
2020.07.25,100
2020.07.26,45
2020.07.27,32
2020.07.28,9
2020.07.29,95
2020.07.30,8
2020.07.31,71
2020.08.01,80
2020.08.02,98
2020.08.03,76
2020.08.04,62
2020.08.05,47
2020.08.06,50
2020.08.07,44
2020.08.08,94
2020.08.09,9
2020.08.10,54
2020.08.11,64
2020.08.12,41
2020.08.13,98
2020.08.14,67
2020.08.15,92
2020.08.16,93
2020.08.17,50
2020.08.18,57
2020.08.19,41
2020.08.20,99
2020.08.21,17
2020.08.22,21
2020.08.23,30
2020.08.24,87
2020.08.25,47
2020.08.26,77
2020.08.27,95
2020.08.28,98
2020.08.29,44
2020.08.30,26
2020.08.31,31
2020.09.01,97
2020.09.02,57
2020.09.03,25
2020.09.04,93
2020.09.05,33
2020.09.06,93
2020.09.07,37
2020.09.08,24
2020.09.09,56
2020.09.10,29
2020.09.11,8
2020.09.12,99
2020.09.13,23
2020.09.14,79
2020.09.15,58
2020.09.16,61
2020.09.17,34
2020.09.18,40
2020.09.19,14
2020.09.20,73
2020.09.21,11
2020.09.22,21
2020.09.23,78
2020.09.24,14
2020.09.25,16
2020.09.26,31
2020.09.27,83
2020.09.28,94
2020.09.29,70
2020.09.30,32
2020.10.01,73
2020.10.02,49
2020.10.03,67
2020.10.04,61
2020.10.05,75
2020.10.06,64
2020.10.07,76
2020.10.08,86
2020.10.09,32
2020.10.10,43
2020.10.11,71
2020.10.12,19
2020.10.13,85
2020.10.14,39
2020.10.15,30
2020.10.16,16
2020.10.17,85
2020.10.18,60
2020.10.19,55
2020.10.20,37
2020.10.21,48
2020.10.22,99
2020.10.23,19
2020.10.24,61
2020.10.25,73
2020.10.26,97
2020.10.27,88
2020.10.28,57
2020.10.29,74
2020.10.30,98
2020.10.31,16
2020.11.01,7
2020.11.02,65
2020.11.03,72
2020.11.04,47
2020.11.05,43
2020.11.06,30
2020.11.07,6
2020.11.08,75
2020.11.09,71
2020.11.10,39
2020.11.11,79
2020.11.12,26
2020.11.13,71
2020.11.14,52
2020.11.15,73
2020.11.16,100
2020.11.17,30
2020.11.18,70
2020.11.19,88
2020.11.20,28
2020.11.21,48
2020.11.22,65
2020.11.23,23
2020.11.24,26
2020.11.25,87
2020.11.26,63
2020.11.27,59
2020.11.28,95
2020.11.29,81
2020.11.30,5
2020.12.01,38
2020.12.02,63
2020.12.03,62
2020.12.04,61
2020.12.05,85
2020.12.06,97
2020.12.07,82
2020.12.08,99
2020.12.09,89
2020.12.10,35
2020.12.11,80
2020.12.12,38
2020.12.13,48
2020.12.14,38
2020.12.15,59
2020.12.16,21
2020.12.17,78
2020.12.18,15
2020.12.19,87
2020.12.20,36
2020.12.21,67
2020.12.22,1
2020.12.23,41
2020.12.24,7
2020.12.25,58
2020.12.26,49
2020.12.27,35
2020.12.28,62
2020.12.29,95
2020.12.30,46
2020.12.31,27
2021.01.01,95
2021.01.02,99
2021.01.03,33
2021.01.04,77
2021.01.05,30
2021.01.06,64
2021.01.07,28
2021.01.08,99
2021.01.09,88
2021.01.10,44
2021.01.11,77
2021.01.12,66
2021.01.13,59
2021.01.14,82
2021.01.15,97
2021.01.16,37
2021.01.17,100
2021.01.18,77
2021.01.19,23
2021.01.20,35
2021.01.21,98
2021.01.22,5
2021.01.23,8
2021.01.24,28
2021.01.25,17
2021.01.26,100
2021.01.27,20
2021.01.28,85
2021.01.29,64
2021.01.30,48
2021.01.31,12
2021.02.01,16
2021.02.02,42
2021.02.03,59
2021.02.04,76
2021.02.05,9
2021.02.06,39
2021.02.07,59
2021.02.08,77
2021.02.09,28
2021.02.10,44
2021.02.11,42
2021.02.12,54
2021.02.13,24
2021.02.14,12
2021.02.15,48
2021.02.16,72
2021.02.17,77
2021.02.18,26
2021.02.19,7
2021.02.20,81
2021.02.21,13
2021.02.22,14
2021.02.23,49
2021.02.24,66
2021.02.25,60
2021.02.26,36
2021.02.27,92
2021.02.28,53
2021.03.01,34
2021.03.02,81
2021.03.03,36
2021.03.04,86
2021.03.05,8
2021.03.06,13
2021.03.07,90
2021.03.08,65
2021.03.09,0
2021.03.10,47
2021.03.11,28
2021.03.12,88
2021.03.13,82
2021.03.14,52
2021.03.15,90
2021.03.16,69
2021.03.17,43
2021.03.18,20
2021.03.19,17
2021.03.20,0
2021.03.21,31
2021.03.22,13
2021.03.23,66
2021.03.24,54
2021.03.25,57
2021.03.26,38
2021.03.27,49
2021.03.28,60
2021.03.29,98
2021.03.30,68
2021.03.31,40
2021.04.01,48
2021.04.02,35
2021.04.03,90
2021.04.04,78
2021.04.05,80
2021.04.06,66
2021.04.07,61
2021.04.08,48
2021.04.09,97
2021.04.10,64
2021.04.11,26
2021.04.12,58
2021.04.13,33
2021.04.14,88
2021.04.15,41
2021.04.16,90
2021.04.17,4
2021.04.18,43
2021.04.19,35
2021.04.20,72
2021.04.21,51
2021.04.22,95
2021.04.23,75
2021.04.24,63
2021.04.25,35
2021.04.26,87
2021.04.27,55
2021.04.28,26
2021.04.29,84
2021.04.30,83
2021.05.01,15
2021.05.02,51
2021.05.03,60
2021.05.04,30
2021.05.05,18
2021.05.06,6
2021.05.07,46
2021.05.08,71
2021.05.09,63
2021.05.10,78
2021.05.11,52
2021.05.12,54
2021.05.13,58
2021.05.14,21
2021.05.15,1
2021.05.16,2
2021.05.17,23
2021.05.18,23
2021.05.19,43
2021.05.20,86
2021.05.21,30
2021.05.22,92
2021.05.23,53
2021.05.24,78
2021.05.25,81
2021.05.26,76
2021.05.27,44
2021.05.28,53
2021.05.29,83
2021.05.30,54
2021.05.31,27
2021.06.01,59
2021.06.02,51
2021.06.03,15
2021.06.04,97
2021.06.05,9
2021.06.06,26
2021.06.07,29
2021.06.08,48
2021.06.09,45
2021.06.10,75
2021.06.11,18
2021.06.12,21
2021.06.13,94
2021.06.14,94
2021.06.15,89
2021.06.16,23
2021.06.17,71
2021.06.18,32
2021.06.19,29
2021.06.20,63
2021.06.21,42
2021.06.22,96
2021.06.23,36
2021.06.24,99
2021.06.25,77
2021.06.26,47
2021.06.27,18
2021.06.28,99
2021.06.29,44
2021.06.30,46
\ No newline at end of file
import cv2
import json
import torch
import os
import random
model = torch.hub.load('ultralytics/yolov5', 'custom', path='component_1/best.pt')
def get_number_of_space():
# cap = cv2.VideoCapture(0) # from webcam
# ret, frame = cap.read()
# if ret:
# img = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
sample_imgs = os.listdir('component_1/sample_data')
img = cv2.imread('component_1/sample_data/' + str(random.choice(sample_imgs)))
result = model(img)
json_string = result.pandas().xyxy[0].to_json(orient='records')
json_obj = json.loads(json_string)
status = []
for i in json_obj:
x = int(i["xmin"])
y = int(i["ymin"])
w = int(i["xmax"])
h = int(i["ymax"])
name = i["name"]
if name == 'empty':
status.append(0)
else:
status.append(1)
return status
# print(get_number_of_space())
from statsmodels.tsa.arima.model import ARIMAResults
import pandas as pd
from datetime import datetime, timedelta
model = ARIMAResults.load('component_1/waiting_time.pkl')
def get_waiting_time():
no_of_days = 1
df = pd.read_csv('component_1/data.csv', index_col='Date', parse_dates=True)
df = df.dropna()
today = datetime.now()
n_days = today + timedelta(days=no_of_days)
index_future_dates = pd.date_range(start=today.strftime("%Y.%m.%d"), end=n_days.strftime("%Y.%m.%d"))
# print(index_future_dates)
pred = model.predict(start=len(df), end=len(df) + no_of_days,
typ='levels').rename('ARIMA Predictions')
# print(comp_pred)
pred.index = index_future_dates
output_value = []
for x in range(len(pred)):
output_value.append(round(pred[x], 2))
return output_value[0]
# print(get_waiting_time())
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment