ayush-vatsal's picture
Rename main.py to app.py
83e3102
raw
history blame
3.06 kB
import streamlit as st
import pandas as pd
import numpy as np
from PIL import Image
import requests
import hopsworks
import joblib
st.set_page_config(
page_title='Car Prices Predictive Analysis',
page_icon='',
layout='wide'
)
project = hopsworks.login()
fs = project.get_feature_store()
mr = project.get_model_registry()
model = mr.get_model("car_prices", version=1)
model_dir = model.download()
model = joblib.load(model_dir + "/car_prices_model.pkl")
header = st.container()
model_train = st.container()
# mileage, engine, max_power, seats, age, seller_type, fuel_type, transmission_type
with header:
st.title("Car Prices Predictive analysis")
col_a, col_b = st.columns(2)
km = col_a.number_input("Kilometers Driven", 1000, 1000000, 10000, 1000)
engine = col_b.number_input("Engine size (in CC)", 600, 6000, 1200, 100)
power = col_a.number_input("Maximum Power in BHP", 10.0, 1000.0, 80.0, 2.0)
seats = col_b.slider("Number of Seats", 2, 10, 5, 1)
age = col_a.slider("Age of the car in years", 1, 10, 2)
seller = col_b.selectbox(
"Seller Type", ["Individual", "Dealer", "Trustmark Dealer"])
fuel = col_a.selectbox(
"Fuel Type", ["Petrol", "Diesel", "CNG", "LPG", "Electric"])
transmission = col_b.selectbox(
"Transmission Type", ["Manual", "Automatic"])
input_list = [km, 12, engine, power, seats, age, seller, fuel, transmission]
if (input_list[6] == "Dealer"):
input_list.pop(6)
input_list.insert(6, 1)
input_list.insert(7, 0)
input_list.insert(8, 0)
if (input_list[6] == "Individual"):
input_list.pop(6)
input_list.insert(6, 0)
input_list.insert(7, 1)
input_list.insert(8, 0)
if (input_list[6] == "Trustmark Dealer"):
input_list.pop(6)
input_list.insert(6, 0)
input_list.insert(7, 0)
input_list.insert(8, 1)
if (input_list[9] == "CNG"):
input_list.pop(9)
input_list.insert(9, 1)
input_list.insert(10, 0)
input_list.insert(11, 0)
input_list.insert(12, 0)
if (input_list[9] == "Diesel"):
input_list.pop(9)
input_list.insert(9, 0)
input_list.insert(10, 1)
input_list.insert(11, 0)
input_list.insert(12, 0)
if (input_list[9] == "Electric"):
input_list.pop(9)
input_list.insert(9, 0)
input_list.insert(10, 0)
input_list.insert(11, 1)
input_list.insert(12, 0)
if (input_list[9] == "Petrol"):
input_list.pop(9)
input_list.insert(9, 0)
input_list.insert(10, 0)
input_list.insert(11, 0)
input_list.insert(12, 1)
if (input_list[13] == "Automatic"):
input_list.pop(13)
input_list.insert(13, 1)
input_list.insert(14, 0)
if (input_list[13] == "Manual"):
input_list.pop(13)
input_list.insert(13, 0)
input_list.insert(14, 1)
df = pd.DataFrame(input_list)
res = model.predict(df.T)[0].round(4)
# col_but = st.columns(5)
with model_train:
disp = st.columns(5)
pred_button = disp[2].button('Evaluate price')
if pred_button:
with st.spinner():
st.write(f'#### Evaluated price of the car: ₹ {res:,.2f}')