Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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,
|
231 |
-
series1,
|
232 |
-
series1,
|
233 |
-
series1,
|
234 |
-
series1,
|
235 |
-
series1,
|
236 |
-
series1,
|
237 |
-
series1,
|
238 |
-
series1,
|
239 |
-
series1,
|
240 |
-
series1,
|
241 |
-
series1,
|
242 |
-
series1,
|
243 |
-
series1,
|
244 |
-
series1,
|
245 |
-
series2,
|
246 |
-
series2,
|
247 |
-
series2,
|
248 |
-
series2,
|
249 |
-
series2,
|
250 |
-
series2,
|
251 |
-
series2,
|
252 |
-
series2,
|
253 |
-
series2,
|
254 |
-
series2,
|
255 |
-
series2,
|
256 |
-
series2,
|
257 |
-
series2,
|
258 |
-
series2,
|
259 |
-
series2,
|
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 |
-
|
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=
|
400 |
inputs=[eval_strategy],
|
401 |
-
outputs=[
|
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
|