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