LonewolfT141's picture
Update app.py
6962abb verified
import gradio as gr
import joblib
import numpy as np
import pandas as pd
# Load the model
model = joblib.load("house_price_model.joblib") # or use linear_regression_model.pkl if preferred
# Define input columns (must match training data!)
input_cols = ['OverallQual', 'GrLivArea', 'GarageCars', 'TotalBsmtSF', '1stFlrSF', 'FullBath', 'YearBuilt']
def predict_price(OverallQual, GrLivArea, GarageCars, TotalBsmtSF, FirstFlrSF, FullBath, YearBuilt):
data = pd.DataFrame([[OverallQual, GrLivArea, GarageCars, TotalBsmtSF, FirstFlrSF, FullBath, YearBuilt]],
columns=input_cols)
prediction = model.predict(data)[0]
return f"Estimated House Price: ${prediction:,.2f}"
# Gradio Interface
demo = gr.Interface(
fn=predict_price,
inputs=[
gr.Slider(1, 10, value=5, label="Overall Quality"),
gr.Number(label="Above Ground Living Area (GrLivArea)"),
gr.Slider(0, 4, step=1, label="Garage Cars"),
gr.Number(label="Total Basement Area (TotalBsmtSF)"),
gr.Number(label="First Floor Area (1stFlrSF)"),
gr.Slider(0, 3, step=1, label="Full Bathrooms"),
gr.Number(label="Year Built"),
],
outputs="text",
title="🏡 House Price Predictor",
description="Enter the house details and get an estimated price using a trained ML model."
)
if __name__ == "__main__":
demo.launch()