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() | |