File size: 1,073 Bytes
88c6363
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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()