| import streamlit as st |
| import joblib |
| import numpy as np |
| from sklearn.preprocessing import StandardScaler |
|
|
| with open("src/House_Linear", "rb") as f: |
| model = joblib.load(f) |
| with open("src/Scaler_Model", "rb") as f: |
| scaler = joblib.load(f) |
|
|
|
|
| st.title(":orange[HOUSE] PRICE PREDICTION :house:") |
|
|
| sqft_living = st.number_input("SQFT_LIVING: ", min_value=50.0, max_value=10000.0, step=50.0) |
| sqft_lot = st.number_input("SQFT_LOT: ", min_value=60.0, max_value=10000.0, step=50.0) |
| floors = st.number_input("FLOORS: ", min_value=1.0, max_value=6.0, step=1.0) |
| bedrooms = st.number_input("BEDROOMS: ", min_value=1.0, max_value=6.0, step=1.0) |
| condition = st.number_input("CONDITION: ", min_value=1, max_value=5, step=1) |
|
|
| if st.button("Estimate"): |
| raw_input = np.array([[sqft_living, sqft_lot, floors, bedrooms, condition]]) |
| scaled_input = scaler.transform(raw_input) |
| prediction = model.predict(scaled_input) |
| formatted_pred = round(prediction[0].item(), 2) |
| st.success(f"🏡 Estimated House Price: ${formatted_pred}") |
|
|