Spaces:
Runtime error
Runtime error
import streamlit as st | |
import pandas as pd | |
import joblib | |
def load_model(): | |
data = joblib.load("model.pkl") | |
return data["model"], data["features"] | |
model, feature_names = load_model() | |
st.title("PROPERTY PRICE PREDICTION TOOL (Streamlit Version)") | |
st.markdown("Predict the price of a new property based on District, Longitude, Latitude, Floor, Unit, Area, Year, and Week Number.") | |
district = st.selectbox("District (1 = Taikoo Shing, 2 = Mei Foo Sun Chuen, 3 = South Horizons, 4 = Whampoa Garden)", list(range(1, 9))) | |
longitude = st.number_input("Longitude", value=114.200) | |
latitude = st.number_input("Latitude", value=22.300) | |
floor = st.selectbox("Floor", list(range(1, 71))) | |
unit = st.selectbox("Unit (e.g., A=1, B=2, C=3, ...)", list(range(1, 31))) | |
area = st.slider("Area (in sq. feet)", min_value=137, max_value=5000, value=300) | |
year = st.selectbox("Year", [2024, 2025]) | |
weeknumber = st.selectbox("Week Number", list(range(1, 53))) | |
if st.button("Predict"): | |
new_data = [district, longitude, latitude, floor, unit, area, year, weeknumber] | |
df_new = pd.DataFrame([new_data], columns=feature_names) | |
prediction = model.predict(df_new) | |
st.success(f"π Estimated Price: **${prediction[0]:,.2f} Million**") | |