Lab06_630510661 / app.py
Pakawadee's picture
Update app.py
ce8f9e0
import joblib
import pandas as pd
import streamlit as st
model = joblib.load('model.joblib')
unique_values = joblib.load('unique_values.joblib')
unique_topping = unique_values["topping"]
unique_variant = unique_values["variant"]
unique_size = unique_values["size"]
unique_extra_sauce = unique_values["extra_sauce"]
unique_extra_cheese = unique_values["extra_cheese"]
unique_extra_mushrooms = unique_values["extra_mushrooms"]
def main():
st.title("Predict Pizza Prices")
with st.form("questionaire"):
diameter = st.slider("diameter", min_value=0, max_value=30)
topping = st.selectbox("topping", options=unique_topping)
variant = st.selectbox("variant", options=unique_variant)
size = st.selectbox("size", options=unique_size)
extra_sauce = st.selectbox("extra_sauce", options=unique_extra_sauce)
extra_cheese = st.selectbox("extra_cheese", options=unique_extra_cheese)
extra_mushrooms = st.selectbox("extra_mushrooms", options=unique_extra_mushrooms)
# clicked==True only when the button is clicked
clicked = st.form_submit_button("Predict Price")
if clicked:
result=model.predict(pd.DataFrame({"diameter": [diameter],
"topping": [topping],
"variant": [variant],
"size": [size],
"extra_sauce": [extra_sauce],
"extra_cheese": [extra_cheese],
"extra_mushrooms": [extra_mushrooms]}))
# Show prediction
st.success(f"The pizza price is {result * 0.000067}$")
if __name__ == "__main__":
main()