fmegahed commited on
Commit
c4f0329
·
verified ·
1 Parent(s): 325c300

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +41 -35
app.py CHANGED
@@ -227,36 +227,36 @@ def run_forecast(
227
  # Sample CSV file generation
228
  def download_sample():
229
  sample_data = """unique_id,ds,y
230
- series1,2025-01-01,100
231
- series1,2025-01-02,105
232
- series1,2025-01-03,102
233
- series1,2025-01-04,107
234
- series1,2025-01-05,104
235
- series1,2025-01-06,110
236
- series1,2025-01-07,108
237
- series1,2025-01-08,112
238
- series1,2025-01-09,115
239
- series1,2025-01-10,118
240
- series1,2025-01-11,120
241
- series1,2025-01-12,123
242
- series1,2025-01-13,126
243
- series1,2025-01-14,129
244
- series1,2025-01-15,131
245
- series2,2025-01-01,200
246
- series2,2025-01-02,195
247
- series2,2025-01-03,205
248
- series2,2025-01-04,210
249
- series2,2025-01-05,215
250
- series2,2025-01-06,212
251
- series2,2025-01-07,208
252
- series2,2025-01-08,215
253
- series2,2025-01-09,220
254
- series2,2025-01-10,218
255
- series2,2025-01-11,225
256
- series2,2025-01-12,230
257
- series2,2025-01-13,235
258
- series2,2025-01-14,232
259
- series2,2025-01-15,240
260
  """
261
  temp = tempfile.NamedTemporaryFile(delete=False, suffix=".csv", mode='w', newline='')
262
  temp.write(sample_data)
@@ -307,9 +307,7 @@ with gr.Blocks(title="Time Series Forecasting App", theme=theme) as app:
307
  horizon = gr.Slider(1, 100, value=10, step=1, label="Validation Horizon")
308
  future_horizon = gr.Slider(1, 100, value=20, step=1, label="Future Forecast Horizon")
309
 
310
- with gr.Row(visible=lambda: eval_strategy == "Cross Validation"):
311
- step_size = gr.Slider(1, 50, value=10, step=1, label="Step Size")
312
- num_windows = gr.Slider(1, 20, value=3, step=1, label="Number of Windows")
313
 
314
  with gr.Accordion("Model Configuration", open=True):
315
  gr.Markdown("### Basic Models")
@@ -394,11 +392,19 @@ with gr.Blocks(title="Time Series Forecasting App", theme=theme) as app:
394
  with gr.TabItem("Export Results"):
395
  export_files = gr.Files(label="Download Results")
396
 
 
 
 
 
 
397
  # Update visibility of step_size and num_windows based on eval_strategy
 
 
 
398
  eval_strategy.change(
399
- fn=lambda x: gr.update(visible=x == "Cross Validation"),
400
  inputs=[eval_strategy],
401
- outputs=[gr.Row.update(visible=lambda: eval_strategy == "Cross Validation")]
402
  )
403
 
404
  # Run forecast when button is clicked
 
227
  # Sample CSV file generation
228
  def download_sample():
229
  sample_data = """unique_id,ds,y
230
+ series1,2023-01-01,100
231
+ series1,2023-01-02,105
232
+ series1,2023-01-03,102
233
+ series1,2023-01-04,107
234
+ series1,2023-01-05,104
235
+ series1,2023-01-06,110
236
+ series1,2023-01-07,108
237
+ series1,2023-01-08,112
238
+ series1,2023-01-09,115
239
+ series1,2023-01-10,118
240
+ series1,2023-01-11,120
241
+ series1,2023-01-12,123
242
+ series1,2023-01-13,126
243
+ series1,2023-01-14,129
244
+ series1,2023-01-15,131
245
+ series2,2023-01-01,200
246
+ series2,2023-01-02,195
247
+ series2,2023-01-03,205
248
+ series2,2023-01-04,210
249
+ series2,2023-01-05,215
250
+ series2,2023-01-06,212
251
+ series2,2023-01-07,208
252
+ series2,2023-01-08,215
253
+ series2,2023-01-09,220
254
+ series2,2023-01-10,218
255
+ series2,2023-01-11,225
256
+ series2,2023-01-12,230
257
+ series2,2023-01-13,235
258
+ series2,2023-01-14,232
259
+ series2,2023-01-15,240
260
  """
261
  temp = tempfile.NamedTemporaryFile(delete=False, suffix=".csv", mode='w', newline='')
262
  temp.write(sample_data)
 
307
  horizon = gr.Slider(1, 100, value=10, step=1, label="Validation Horizon")
308
  future_horizon = gr.Slider(1, 100, value=20, step=1, label="Future Forecast Horizon")
309
 
310
+ # Cross validation settings will be defined after the main UI elements
 
 
311
 
312
  with gr.Accordion("Model Configuration", open=True):
313
  gr.Markdown("### Basic Models")
 
392
  with gr.TabItem("Export Results"):
393
  export_files = gr.Files(label="Download Results")
394
 
395
+ # Create a special Row for cross-validation settings
396
+ with gr.Row(visible=True) as cv_row:
397
+ step_size = gr.Slider(1, 50, value=10, step=1, label="Step Size")
398
+ num_windows = gr.Slider(1, 20, value=3, step=1, label="Number of Windows")
399
+
400
  # Update visibility of step_size and num_windows based on eval_strategy
401
+ def update_cv_visibility(strategy):
402
+ return gr.update(visible=strategy == "Cross Validation")
403
+
404
  eval_strategy.change(
405
+ fn=update_cv_visibility,
406
  inputs=[eval_strategy],
407
+ outputs=[cv_row]
408
  )
409
 
410
  # Run forecast when button is clicked