Spaces:
Sleeping
Sleeping
Commit
·
091a7e7
1
Parent(s):
8a5c0d6
resolved model 3 scale issues
Browse files- streamlit_app.py +21 -10
streamlit_app.py
CHANGED
@@ -172,11 +172,12 @@ def load_all():
|
|
172 |
country_features = None
|
173 |
|
174 |
return {
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
|
|
180 |
|
181 |
|
182 |
def forecast_model1(model, scaler, recent_values):
|
@@ -198,15 +199,25 @@ def predict_model2(model, scalerX, scalerY, feature_array):
|
|
198 |
|
199 |
def forecast_model3(model, scaler, recent_series, country_vec):
|
200 |
window = len(recent_series)
|
201 |
-
co2_scaled = scaler.transform(np.array(recent_series).reshape(-1, 1)).flatten()
|
202 |
-
co2_col =
|
203 |
country_mat = np.tile(country_vec.reshape(1, -1), (window, 1))
|
|
|
|
|
204 |
seq = np.concatenate([co2_col, country_mat], axis=1)
|
|
|
|
|
205 |
inp = seq.reshape(1, window, seq.shape[1])
|
206 |
-
ypred_scaled = model.predict(inp, verbose=0).flatten()
|
207 |
-
ypred = scaler.inverse_transform(ypred_scaled.reshape(-1, 1)).flatten()
|
208 |
-
return ypred
|
209 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
210 |
|
211 |
def create_animated_metric(label, value, icon="🎯"):
|
212 |
st.markdown(f"""
|
|
|
172 |
country_features = None
|
173 |
|
174 |
return {
|
175 |
+
"model1": model1, "model2": model2, "model3": model3,
|
176 |
+
"scaler1": scaler1, "scalerX2": scalerX2, "scalerY2": scalerY2, "scaler3": scaler3, # <--- Ensure scaler3 is returned
|
177 |
+
"feature_cols2": feature_cols2, "df_agri": df_agri, "df_co2": df_co2,
|
178 |
+
"country_features": country_features,
|
179 |
+
}
|
180 |
+
|
181 |
|
182 |
|
183 |
def forecast_model1(model, scaler, recent_values):
|
|
|
199 |
|
200 |
def forecast_model3(model, scaler, recent_series, country_vec):
|
201 |
window = len(recent_series)
|
202 |
+
# co2_scaled = scaler.transform(np.array(recent_series).reshape(-1, 1)).flatten()
|
203 |
+
co2_col = np.array(recent_series).reshape(window, 1)
|
204 |
country_mat = np.tile(country_vec.reshape(1, -1), (window, 1))
|
205 |
+
|
206 |
+
# Concatenate raw CO2 values with country vector
|
207 |
seq = np.concatenate([co2_col, country_mat], axis=1)
|
208 |
+
|
209 |
+
# Reshape input for LSTM
|
210 |
inp = seq.reshape(1, window, seq.shape[1])
|
|
|
|
|
|
|
211 |
|
212 |
+
# Make prediction - model outputs raw, unscaled values
|
213 |
+
ypred_raw_output = model.predict(inp, verbose=0).flatten()
|
214 |
+
|
215 |
+
# --- PREVIOUSLY INCORRECT INVERSE TRANSFORM REMOVED ---
|
216 |
+
# ypred = scaler.inverse_transform(ypred_scaled.reshape(-1, 1)).flatten()
|
217 |
+
# The model's output is already the final, unscaled prediction
|
218 |
+
ypred = ypred_raw_output
|
219 |
+
|
220 |
+
return ypred
|
221 |
|
222 |
def create_animated_metric(label, value, icon="🎯"):
|
223 |
st.markdown(f"""
|