Car-Prices / app.py
ayush-vatsal's picture
Update app.py
7596ce7
import gradio as gr
import numpy as np
from PIL import Image
import pandas as pd
import requests
import hopsworks
import joblib
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")
def car(km_driven, mileage, engine, max_power, seats, age, seller_type, fuel_type, transmission_type):
input_list = []
input_list.append(km_driven)
input_list.append(mileage)
input_list.append(engine)
input_list.append(max_power)
input_list.append(seats)
input_list.append(age)
input_list.append(seller_type)
input_list.append(fuel_type)
input_list.append(transmission_type)
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]
return res
demo = gr.Interface(
fn=car,
title="Car Price Predictive Analytics",
description="Experiment with car details to predict the price of your car.",
allow_flagging="never",
inputs=[
gr.inputs.Number(default=10000.0, label="Kilometers driven"),
gr.inputs.Number(default=12.0, label="Mileage (in KM/L)"),
gr.inputs.Number(default=1199.0, label="Engine Size (in cc)"),
gr.inputs.Number(default=70.0, label="Max Power (in BHP)"),
gr.inputs.Number(default=5, label="Number of Seats"),
gr.inputs.Number(default=4.0, label="Age of the car"),
gr.inputs.Dropdown(choices=["Dealer", "Individual", "Trustmark Dealer"]),
gr.inputs.Dropdown(choices=["Petrol", "Diesel", "Electric", "CNG"]),
gr.inputs.Dropdown(choices=["Automatic", "Manual"]),
],
outputs=gr.Number())
demo.launch()