Tanapol's picture
Update app.py
52ad302
import joblib
import pandas as pd
import streamlit as st
buy_dict = {'low': 1,
'med': 2,
'high': 3,
'vhigh': 4}
maint_dict = {'low': 1,
'med': 2,
'high': 3,
'vhigh': 4}
lug_dict = {'small': 1,
'med': 2,
'big': 3}
safety_dict = {'low': 1,
'med': 2,
'high': 3}
class_dict = {'unacc': 0,
'acc': 1,
'good': 2,
'vgood': 3}
model = joblib.load('model.joblib')
unique_values = joblib.load('unique_values.joblib')
unique_buy = unique_values["buying"]
unique_maint = unique_values["maintenance"]
unique_door = unique_values["doors"]
unique_person = unique_values["persons"]
unique_lugg = unique_values["luggage_boot"]
unique_safety = unique_values["safety"]
def main():
st.title("Car Evaluation")
with st.form("questionaire"):
buy = st.selectbox('Buying Price', unique_buy)
maint = st.selectbox('Maintenance cost', unique_maint)
door = st.selectbox('Door', unique_door)
person = st.selectbox('Persons capacity', unique_person)
lugg = st.selectbox('Size of luggage boot', unique_lugg)
safety = st.selectbox('Estimated safety of the car', unique_safety)
# clicked==True only when the button is clicked
clicked = st.form_submit_button("Predict evaluation")
if clicked:
result=model.predict(pd.DataFrame({"buying": [buy_dict[buy]],
"maintenance": [maint_dict[maint]],
"doors": [door],
"persons": [person],
"luggage_boot": [lug_dict[lugg]],
"safety": [safety_dict[safety]]}))
# Show prediction
if result[0] == 0:
result = 'Unacceptable'
elif result[0] == 1:
result = 'Acceptable'
elif result[0] == 2:
result = 'Good'
elif result[0] == 3:
result = 'Very Good'
else:
result = 'ERROR'
st.success('Predicted evaluation: '+result)
if __name__ == '__main__':
main() # Run main()