Spaces:
Runtime error
Runtime error
| 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() | |
| def get_model(): | |
| mr = project.get_model_registry() | |
| model = mr.get_model("car_prices", version=1) | |
| model_dir = model.download() | |
| return joblib.load(model_dir + "/car_prices_model.pkl") | |
| header = st.container() | |
| model_train = st.container() | |
| Monitoring = st.container() | |
| with header: | |
| st.title("Car Prices Predictive analysis") | |
| col_a, col_b = st.columns(2) | |
| km = col_a.number_input("Kilometers Driven", 1000, 3000000, 15000, 10000) | |
| 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) | |
| # mileage, engine, max_power, seats, age, seller_type, fuel_type, transmission_type | |
| df = pd.DataFrame(input_list) | |
| model = get_model() | |
| with model_train: | |
| disp = st.columns(5) | |
| pred_button = disp[2].button('Evaluate price') | |
| if pred_button: | |
| res = model.predict(df.T)[0].round(4) | |
| with st.spinner(): | |
| st.write(f'#### Evaluated price of the car(in lakhs): ₹ {res:,.4f}') | |
| # display history_df | |
| with Monitoring: | |
| st.header("Monitoring Car Price Predictions: ") | |
| df = pd.read_csv("https://raw.githubusercontent.com/Ayush863/Car_Prices-A_Prediction_Service/main/assets/output.csv") | |
| df.drop(df.columns[0], axis=1, inplace=True) | |
| # Display the dataframe in Streamlit | |
| st.dataframe(df, 2000) |