Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import pandas as pd | |
| import numpy as np | |
| import pickle | |
| # Load the trained model from the pickle file | |
| with open('best_arima_models.pkl', 'rb') as f: | |
| model = pickle.load(f) | |
| def predict_demand(mapped_code, num_months): | |
| try: | |
| print(f"Received mapped code: {mapped_code}") | |
| print(f"Number of months for prediction: {num_months}") | |
| # Retrieve the specific model for the mapped code | |
| if mapped_code not in model: | |
| return None, f"No model found for Mapped Code: {mapped_code}" | |
| model_for_code = model[mapped_code] | |
| # Generate a date range for the prediction period | |
| dates = pd.date_range(start=pd.Timestamp.today(), periods=num_months, freq='M') | |
| # Make predictions | |
| future_steps = len(dates) | |
| forecast = model_for_code.forecast(steps=future_steps) | |
| print(f"Forecast: {forecast}") | |
| # Prepare a DataFrame for display | |
| df = pd.DataFrame({ | |
| 'Date': dates.strftime('%Y-%m'), | |
| 'Predicted Demand': forecast | |
| }) | |
| return df, None | |
| except Exception as e: | |
| print(f"Error occurred: {e}") | |
| return None, f"An error occurred: {str(e)}" | |
| # Gradio Interface Definition | |
| gr.Interface( | |
| fn=predict_demand, | |
| inputs=[ | |
| gr.Textbox(label="Mapped Code", placeholder="Enter mapped code here"), | |
| gr.Slider(minimum=1, maximum=12, step=1, label="Number of Months") | |
| ], | |
| outputs=[ | |
| gr.Dataframe(label="Predicted Demand"), | |
| gr.Textbox(label="Error Message") | |
| ], | |
| title="Demand Forecasting", | |
| description="Enter the mapped code and the number of months to predict future demand." | |
| ).launch() | |