Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import joblib | |
| import numpy as np | |
| import pandas as pd | |
| # Load the model and unique brand values | |
| model = joblib.load('model.joblib') | |
| unique_values = joblib.load('unique_values.joblib') | |
| brand_values = unique_values['Brand'] | |
| # Define the prediction function | |
| def predict(brand, screen_size, resolution_width, resolution_height): | |
| # Convert inputs to appropriate types | |
| screen_size = float(screen_size) | |
| resolution_width = int(resolution_width) | |
| resolution_height = int(resolution_height) | |
| # Prepare the input array for prediction | |
| input_data = pd.DataFrame({ | |
| 'Brand': [brand], | |
| 'Screen Size': [screen_size], | |
| 'Resolution (Width)': [resolution_width], | |
| 'Resolution (Height)': [resolution_height] | |
| }) | |
| # Perform the prediction | |
| prediction = model.predict(input_data) | |
| return prediction[0] | |
| # Create the Gradio interface | |
| interface = gr.Interface( | |
| fn=predict, | |
| inputs=[ | |
| gr.Dropdown(choices=list(brand_values), label="Brand"), | |
| gr.Textbox(label="Screen Size"), | |
| gr.Textbox(label="Resolution (Width)"), | |
| gr.Textbox(label="Resolution (Height)") | |
| ], | |
| outputs="text", | |
| title="Monitor Predictor", | |
| description="Enter the brand, screen size, and resolution to predict the target value." | |
| ) | |
| # Launch the app | |
| interface.launch() | |