sevvaliclal's picture
Update src/app.py
51daf15 verified
Raw
History Blame Contribute Delete
1.01 kB
import streamlit as st
import pandas as pd
import numpy as np
import joblib
# Load model
model = joblib.load("src/final_model.pkl")
features = joblib.load("src/model_features.pkl")
st.title("🚗 Used Car Price Predictor")
# Simple inputs
model_year = st.number_input("Model Year", 1990, 2024, 2018)
milage = st.number_input("Milage", 0, 500000, 50000)
horsepower = st.number_input("Horsepower", 50, 1500, 200)
car_age = 2024 - model_year
milage_per_year = milage / (car_age if car_age > 0 else 1)
# Create dataframe
input_data = pd.DataFrame([{
"model_year": model_year,
"milage": milage,
"horsepower": horsepower,
"car_age": car_age,
"milage_per_year": milage_per_year
}])
# Feature alignment
for col in features:
if col not in input_data.columns:
input_data[col] = 0
input_data = input_data[features]
if st.button("Predict Price"):
prediction = model.predict(input_data)
prediction = np.expm1(prediction)
st.success(f"Estimated Price: ${prediction[0]:,.2f}")