Spaces:
Sleeping
Sleeping
import streamlit as st | |
import joblib | |
import sklearn | |
# load the model | |
model = joblib.load('./car-price-predictor.pth') | |
st.title('Car-price-predictor') | |
symboling = st.number_input( | |
'Enter symboling', min_value=-2, max_value=3, value=0) | |
doornumber = st.number_input( | |
'Enter Door number 2/4', min_value=2, max_value=4, value=2) | |
wheelbase = st.number_input( | |
'Enter wheel base', min_value=85, max_value=130, value=100) | |
carlength = st.number_input( | |
'Enter car length', min_value=140, max_value=210, value=180) | |
carwidth = st.number_input( | |
'Enter car width', min_value=60, max_value=73, value=65) | |
carheight = st.number_input( | |
'Enter car height', min_value=45, max_value=60, value=50) | |
curbweight = st.number_input( | |
'Enter curb weight', min_value=1000, max_value=4500, value=3000) | |
cylindernumber = st.number_input( | |
'Enter cylinder number', min_value=2, max_value=12, value=5) | |
enginesize = st.number_input( | |
'Enter engine size', min_value=60, max_value=330, value=200) | |
boreratio = st.number_input( | |
'Enter bore ratio', min_value=2, max_value=4, value=3) | |
stroke = st.number_input('Enter no. of stroke', | |
min_value=2, max_value=5, value=3) | |
compressionratio = st.number_input( | |
'Enter compression ratio', min_value=5, max_value=25, value=15) | |
horsepower = st.number_input( | |
'Enter horse power', min_value=40, max_value=300, value=150) | |
peakrpm = st.number_input( | |
'Enter peak rpm', min_value=4000, max_value=7000, value=5500) | |
citympg = st.number_input( | |
'Enter city mpg', min_value=10, max_value=55, value=35) | |
highwaympg = st.number_input( | |
'Enter highway mpg', min_value=15, max_value=60, value=40) | |
enginesize = st.number_input( | |
'Enter engine size', min_value=130, max_value=175, value=150) | |
horsepower = st.number_input( | |
'enter horse power', min_value=100, max_value=150, value=125) | |
car_company = st.selectbox('Select Car Company', ['toyota', 'nissan', 'mazda', 'mitsubishi', 'honda', 'volkswagen', 'subaru', 'peugeot', 'volvo', | |
'dodge', 'buick', 'bmw', 'audi', 'plymouth', 'saab', 'porsche', 'isuzu', 'jaguar', 'chevrolet', 'alfa-romero', 'renault', 'mercury']) | |
fueltype = st.selectbox('Select Fuel type', ['diesel', 'gas']) | |
aspiration = st.selectbox('Select Aspiration', ['std', 'turbo']) | |
carbody = st.selectbox( | |
'Select Carbody', ['sedan', 'hatchback', 'wagon', 'hardtop', 'convertible']) | |
drivewheel = st.selectbox('Select Drive wheel', ['fwd', 'rwd', '4wd']) | |
enginelocation = st.selectbox('Select engine location', ['front', 'rear']) | |
enginetype = st.selectbox('Select engine type', [ | |
'ohc', 'ohcf', 'dohc', 'l', 'rotor', 'dohcv']) | |
fuelsystem = st.selectbox('Select fuel system', [ | |
'mpfi', '2bbl', 'idi', '1bbl', 'spdi', '4bbl', 'mfi', 'spfi']) | |
if car_company == 'toyota': | |
car_company_encode = 19 | |
elif car_company == 'nissan': | |
car_company_encode = 12 | |
elif car_company == 'mazda': | |
car_company_encode = 9 | |
elif car_company == 'mitsubishi': | |
car_company_encode = 11 | |
elif car_company == 'honda': | |
car_company_encode = 6 | |
elif car_company == 'volkswagen': | |
car_company_encode = 20 | |
elif car_company == 'subaru': | |
car_company_encode = 18 | |
elif car_company == 'peugeot': | |
car_company_encode = 13 | |
elif car_company == 'volvo': | |
car_company_encode = 21 | |
elif car_company == 'dodge': | |
car_company_encode = 5 | |
elif car_company == 'buick': | |
car_company_encode = 3 | |
elif car_company == 'bmw': | |
car_company_encode = 2 | |
elif car_company == 'audi': | |
car_company_encode = 1 | |
elif car_company == 'plymouth': | |
car_company_encode = 14 | |
elif car_company == 'saab': | |
car_company_encode = 17 | |
elif car_company == 'porsche': | |
car_company_encode = 15 | |
elif car_company == 'isuzu': | |
car_company_encode = 7 | |
elif car_company == 'jaguar': | |
car_company_encode = 8 | |
elif car_company == 'chevrolet': | |
car_company_encode = 4 | |
elif car_company == 'alfa-romero': | |
car_company_encode = 0 | |
elif car_company == 'renault': | |
car_company_encode = 16 | |
else: | |
car_company_encode = 10 | |
if fueltype == 'diesel': | |
fueltype_encode = 0 | |
else: | |
fueltype_encode = 1 | |
if aspiration == 'turbo': | |
aspiration_encode = 1 | |
else: | |
aspiration_encode = 0 | |
if carbody == 'convertible': | |
carbody_encode = 0 | |
elif carbody == 'hardtop': | |
carbody_encode = 1 | |
elif carbody == 'hatchback': | |
carbody_encode = 2 | |
elif carbody == 'sedan': | |
carbody_encode = 3 | |
else: | |
carbody_encode = 4 | |
if drivewheel == '4wd': | |
drivewheel_encode = 0 | |
elif drivewheel == 'fwd': | |
drivewheel_encode = 1 | |
else: | |
gender_encode = 2 | |
if enginelocation == 'front': | |
enginelocation_encode = 0 | |
else: | |
gender_encode = 1 | |
if enginetype == 'dohc': | |
enginetype_encode = 0 | |
elif enginetype == 'dohcv': | |
enginetype_encode = 1 | |
elif enginetype == 'l': | |
enginetype_encode = 2 | |
elif enginetype == 'ohc': | |
enginetype_encode = 3 | |
elif enginetype == 'ohcf': | |
enginetype_encode = 4 | |
elif enginetype == 'ohcv': | |
enginetype_encode = 5 | |
else: | |
gender_encode = 6 | |
if fuelsystem == '1bbl': | |
fuelsystem_encode = 0 | |
elif fuelsystem == '2bbl': | |
fuelsystem_encode = 1 | |
elif fuelsystem == '4bbl': | |
fuelsystem_encode = 2 | |
elif fuelsystem == 'idi': | |
fuelsystem_encode = 3 | |
elif fuelsystem == 'mfi': | |
fuelsystem_encode = 4 | |
elif fuelsystem == 'mpfi': | |
fuelsystem_encode = 5 | |
elif fuelsystem == 'spdi': | |
fuelsystem_encode = 6 | |
else: | |
fuelsystem_encode = 7 | |
if st.button("Predict price"): | |
input = [[car_company_encode, symboling, fueltype_encode, aspiration_encode, doornumber, carbody_encode, drivewheel_encode, enginelocation_encode, wheelbase, carlength, carwidth, | |
carheight, curbweight, enginetype_encode, cylindernumber, enginesize, fuelsystem_encode, boreratio, stroke, compressionratio, horsepower, peakrpm, citympg, highwaympg]] | |
result = model.predict(input)[0] | |
st.write('The predicted price in dollors is', result) | |