|
import streamlit as st |
|
import pandas as pd |
|
import pickle |
|
import numpy as np |
|
|
|
|
|
car_data = pd.read_csv("cleaned_data.csv") |
|
|
|
|
|
model = pickle.load(open("LinearRegressionModel.pkl", "rb")) |
|
|
|
|
|
def predict_car_price(company, car_model, year, fuel_type, driven): |
|
|
|
prediction_data = pd.DataFrame({ |
|
"name": [car_model], |
|
"company": [company], |
|
"year": [year], |
|
"kms_driven": [driven], |
|
"fuel_type": [fuel_type], |
|
}) |
|
|
|
|
|
prediction = model.predict(prediction_data) |
|
return np.round(prediction[0], 2) |
|
|
|
|
|
st.title("Car Price Prediction App") |
|
|
|
|
|
car_model_options = [] |
|
|
|
|
|
company = st.selectbox("Company", sorted(car_data["company"].unique())) |
|
|
|
|
|
if company: |
|
car_model_options = sorted(car_data[car_data["company"] == company]["name"].unique()) |
|
|
|
|
|
car_model = st.selectbox("Car Model", car_model_options) |
|
|
|
year = st.selectbox("Year", sorted(car_data["year"].unique(), reverse=True)) |
|
fuel_type = st.selectbox("Fuel Type", car_data["fuel_type"].unique()) |
|
driven = st.number_input("Kilometers Driven", min_value=0) |
|
|
|
|
|
if st.button("Predict Price"): |
|
prediction = predict_car_price(company, car_model, year, fuel_type, driven) |
|
st.success(f"The predicted price of your car is: ₹ {prediction}") |
|
|