Ale37 commited on
Commit
2ae74e6
·
1 Parent(s): a788d0f

added ml operations

Browse files
Files changed (1) hide show
  1. src/main.py +21 -1
src/main.py CHANGED
@@ -1,8 +1,28 @@
1
  import streamlit as st
2
  import pandas as pd
 
 
3
 
4
  st.title('Exponential Smoothing on ILINetDataset')
5
 
6
  if st.button(label='Get result chart'):
7
- # st.pyplot() # figura contenente il grafico
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  st.metric(label='MAPE', value=0) # mape
 
1
  import streamlit as st
2
  import pandas as pd
3
+ import os
4
+ from model import load_ILINetDataset, preprocess_data, train_val_split, scale_train, train, predict, save_model, load_model, inverse_scale_predictions, plot_results
5
 
6
  st.title('Exponential Smoothing on ILINetDataset')
7
 
8
  if st.button(label='Get result chart'):
9
+ path = f'./models'
10
+ model_name = 'ExponentialSmoothing.pkl'
11
+ if not os.path.exists(path=path):
12
+ os.makedirs(path)
13
+
14
+ if not model_name in os.listdir(path=path):
15
+ dataset = load_ILINetDataset()
16
+ prep_data = preprocess_data(dataset)
17
+ train_ili, val_ili = train_val_split(prep_data)
18
+ scaled_train_ili, scaler = scale_train(train_ili=train_ili)
19
+ model = train(scaled_train_ili, val_ili) # salva anche il modello se non esiste già
20
+ save_model(model=model, path=path)
21
+ else:
22
+ model = load_model(path=os.path.join(path, model_name))
23
+
24
+ preds = predict(model=model)
25
+ unscaled_preds = inverse_scale_predictions(preds, scaler)
26
+ fig = plot_results(train_ili=train_ili, val_ili=val_ili, preds=unscaled_preds)
27
+ st.pyplot(fig=fig) # figura contenente il grafico
28
  st.metric(label='MAPE', value=0) # mape