load model and compute mape
Browse files- src/model.py +13 -3
src/model.py
CHANGED
|
@@ -73,17 +73,23 @@ def scale_train(train_ili):
|
|
| 73 |
def train_(train_ili_scaled, val_ili, save_model_path='./models'):
|
| 74 |
model = ExponentialSmoothing()
|
| 75 |
model.fit(train_ili_scaled)
|
| 76 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 77 |
model_name = str(model).split('(')[0]
|
| 78 |
-
path = f'{
|
| 79 |
if not os.path.exists(path=path):
|
| 80 |
os.makedirs(path)
|
| 81 |
model.save(path)
|
| 82 |
else:
|
| 83 |
model = ExponentialSmoothing.load(path)
|
| 84 |
|
| 85 |
-
# print('Exponential Smoothing mape:', mape(val_ili, scaler.inverse_transform(exp_preds)))
|
| 86 |
|
|
|
|
|
|
|
|
|
|
| 87 |
return model
|
| 88 |
|
| 89 |
|
|
@@ -108,4 +114,8 @@ def plot_results(train_ili, val_ili, preds):
|
|
| 108 |
return fig
|
| 109 |
|
| 110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 111 |
|
|
|
|
| 73 |
def train_(train_ili_scaled, val_ili, save_model_path='./models'):
|
| 74 |
model = ExponentialSmoothing()
|
| 75 |
model.fit(train_ili_scaled)
|
| 76 |
+
|
| 77 |
+
return model
|
| 78 |
+
|
| 79 |
+
|
| 80 |
+
def save_model(model, path):
|
| 81 |
model_name = str(model).split('(')[0]
|
| 82 |
+
path = f'{path}/{model_name}.pkl'
|
| 83 |
if not os.path.exists(path=path):
|
| 84 |
os.makedirs(path)
|
| 85 |
model.save(path)
|
| 86 |
else:
|
| 87 |
model = ExponentialSmoothing.load(path)
|
| 88 |
|
|
|
|
| 89 |
|
| 90 |
+
def load_model(path):
|
| 91 |
+
model = ExponentialSmoothing.load(path)
|
| 92 |
+
|
| 93 |
return model
|
| 94 |
|
| 95 |
|
|
|
|
| 114 |
return fig
|
| 115 |
|
| 116 |
|
| 117 |
+
def compute_mape(preds, val):
|
| 118 |
+
metric = mape(val, preds)
|
| 119 |
+
|
| 120 |
+
return metric
|
| 121 |
|