Spaces:
Sleeping
Sleeping
import gradio as gr | |
import pandas as pd | |
from sklearn.linear_model import LinearRegression | |
# Sample data | |
data = pd.DataFrame({ | |
"sqft": [1500, 1800, 2400, 3000, 3500], | |
"bedrooms": [3, 4, 3, 5, 4], | |
"bathrooms": [2, 2, 3, 4, 3], | |
"price": [300000, 350000, 400000, 500000, 450000] | |
}) | |
# Train model | |
X = data[["sqft", "bedrooms", "bathrooms"]] | |
y = data["price"] | |
model = LinearRegression().fit(X, y) | |
# Prediction function | |
def predict_price(sqft, bedrooms, bathrooms): | |
try: | |
input_df = pd.DataFrame([[sqft, bedrooms, bathrooms]], columns=X.columns) | |
pred = model.predict(input_df)[0] | |
return f"🏠 Estimated Price: ${pred:,.0f}" | |
except Exception as e: | |
return f"⚠️ Error: {e}" | |
# Gradio UI | |
demo = gr.Interface( | |
fn=predict_price, | |
inputs=[ | |
gr.Slider(500, 5000, value=2000, label="Square Footage"), | |
gr.Slider(1, 6, value=3, label="Bedrooms"), | |
gr.Slider(1, 5, value=2, label="Bathrooms") | |
], | |
outputs=gr.Textbox(label="Prediction"), | |
title="🏡 House Price Predictor" | |
) | |
demo.launch() | |