Spaces:
Build error
Build error
| import gradio as gr | |
| import numpy as np | |
| import os | |
| from huggingface_hub import hf_hub_download | |
| import joblib # Import joblib directly | |
| import pandas as pd | |
| # Load the pre-trained model from Hugging Face | |
| hf_token = os.getenv("HF_TOKEN") | |
| model_path = hf_hub_download(repo_id="wvsu-dti-aidev-team/advertising_knn_regressor_model", filename="decision_tree_regressor.pkl", use_auth_token=hf_token) | |
| model = joblib.load(model_path) | |
| def predict_sales(tv, radio, newspaper): | |
| # Create a DataFrame with the same feature names as the training data | |
| input_data = pd.DataFrame([[tv, radio, newspaper]], columns=['TV', 'Radio', 'Newspaper']) | |
| # Get the predicted sales | |
| predicted_sales = model.predict(input_data) | |
| # Discussion on the projected sales result | |
| discussion = f"Based on the advertising spending, the projected sales are approximately {predicted_sales[0] * 10000:.2f} Pesos. " \ | |
| f"Investing more in TV advertising tends to have a significant impact on sales, followed by Radio and Newspaper. " \ | |
| f"Optimizing the budget allocation across these channels can help maximize sales." | |
| return predicted_sales[0], discussion | |
| # Create the Gradio interface | |
| iface = gr.Interface( | |
| fn=predict_sales, | |
| inputs=[ | |
| gr.Number(label="TV Advertising Spend (x 10,000 Pesos)"), | |
| gr.Number(label="Radio Advertising Spend (x 10,000 Pesos)"), | |
| gr.Number(label="Newspaper Advertising Spend (x 10,000 Pesos)") | |
| ], | |
| outputs=[ | |
| gr.Textbox(label="Predicted Sales"), | |
| gr.Textbox(label="Discussion") | |
| ], | |
| title="Advertising Spend to Sales Prediction", | |
| description="Enter the advertising spending on TV, Radio, and Newspaper to predict the sales." | |
| ) | |
| # Launch the app | |
| iface.launch() |