mintup/vicko-beverage
0
1import streamlit as st2import pandas as pd3import pickle4 5# Load the trained model6with open('best_log_model.pkl', 'rb') as file_1:7 best_model = pickle.load(file_1)8 9def run():10 # Create form for user input11 with st.form(key='form_parameters'):12 pid = st.number_input(13 'Product ID',14 min_value=1001,15 max_value=9999,16 value=1001,17 step=1,18 help='Enter the Product ID'19 )20 21 pcat = st.selectbox(22 'Product Category',23 ('Soda', 'Juice', 'Water', 'Energy Drink'),24 index=025 )26 27 sales_volume = st.number_input(28 'Sales Volume (L)',29 min_value=0.0,30 value=0.0,31 step=0.1,32 help='Enter the sales volume in liters'33 )34 35 price_per_liter = st.number_input(36 'Price per Liter (IDR)',37 min_value=0.0,38 value=0.0,39 step=0.1,40 help='Enter the price per liter in IDR'41 )42 43 advertising_spend = st.number_input(44 'Advertising Spend (USD)',45 min_value=0.0,46 value=0.0,47 step=0.1,48 help='Enter the advertising spend in USD'49 )50 51 num_retailers = st.number_input(52 'Number of Retailers',53 min_value=0,54 value=1,55 step=1,56 help='Enter the number of retailers'57 )58 59 temperature = st.number_input(60 'Temperature (°C)',61 min_value=-50.0,62 max_value=50.0,63 value=25.0,64 step=0.1,65 help='Enter the temperature in Celsius'66 )67 68 market_share = st.number_input(69 'Market Share (%)',70 min_value=0.0,71 max_value=100.0,72 value=0.0,73 step=0.1,74 help='Enter the market share percentage'75 )76 77 competitor_price = st.number_input(78 'Competitor Price per Liter (IDR)',79 min_value=0.0,80 value=0.0,81 step=0.1,82 help='Enter the competitor price per liter in IDR'83 )84 85 submitted = st.form_submit_button('Predict')86 87 if submitted:88 # Prepare the input data89 data_inf = pd.DataFrame([{90 'Product_ID': pid,91 'Sales_Volume_(L)': sales_volume,92 'Product_Category': pcat,93 'Price_per_Liter_(IDR)': price_per_liter,94 'Advertising_Spend_(USD)': advertising_spend,95 'Number_of_Retailers': num_retailers,96 'Temperature_(°C)': temperature,97 'Market_Share_(%)': market_share,98 'Competitor_Price_per_Liter_(IDR)': competitor_price,99 }])100 101 st.dataframe(data_inf)102 103 # Predict using the model104 y_pred_inf = best_model.predict(data_inf)105 st.write('# Holiday Season:', str(y_pred_inf[0]))106 107if __name__ == '__main__':108 run()109 110 