import streamlit as st import requests st.title("Sales Forecast Prediction Model") #Complete the code to define the title of the app. # Input fields for product and store data Product_Weight = st.number_input("Product Weight (in Kg)", min_value=0.0, value=12.66) Product_Sugar_Content = st.selectbox("Product Sugar Content", ["Low Sugar", "Regular", "No Sugar"]) Product_Allocated_Area = st.number_input("Product Allocated Area (in fraction of total store area)", min_value=0.0, value=0.075) Product_MRP = st.number_input("Product MRP ($ value)", min_value=0.0, value=100.00) Store_Size = st.selectbox("Store Size", ["Small", "Medium", "High"]) Store_Location_City_Type = st.selectbox("Store Location City Type", ["Tier 1", "Tier 2", "Tier 3"]) Store_Type = st.selectbox("Store Type", ["Departmental Store", "Food Mart", "Supermarket Type1","Supermarket Type2"]) # Product_Id_char = st.text_input("Product ID", value="FD100") Store_Age_Years = st.number_input("Store Age (in years)", min_value=0.0, value=10.0) # Product_Type_Category = st.selectbox("Product Type", ["Perishables", "Non Perishables"]) Product_Type = st.selectbox( "Product Type", [ "Dairy", "Meat", "Fruits and Vegetables", "Breakfast", "Breads", "Seafood", "Snacks", "Frozen Foods" ] ) product_data = { "Product_Weight": Product_Weight, "Product_Sugar_Content": Product_Sugar_Content, "Product_Allocated_Area": Product_Allocated_Area, "Product_MRP": Product_MRP, "Store_Size": Store_Size, "Store_Location_City_Type": Store_Location_City_Type, "Store_Type": Store_Type, # "Product_Id_char": Product_Id_char, "Store_Age_Years": Store_Age_Years, "Product_Type": Product_Type } if st.button("Predict", type='primary'): response = requests.post("https://PR118-SalesForecastPrediction-BackendNEW.hf.space/v1/predict", json=product_data) if response.status_code == 200: result = response.json() predicted_sales = result["Sales"] st.write(f"Predicted Product Store Sales : ${predicted_sales:.2f}") else: st.error("Error in API request") # Section for batch prediction st.subheader("Batch Prediction") # Allow users to upload a CSV file for batch prediction uploaded_file = st.file_uploader("Upload CSV file for batch prediction", type=["csv"]) # Make batch prediction when the "Predict Batch" button is clicked if uploaded_file is not None: if st.button("Predict Batch"): response = requests.post( "https://PR118-SalesForecastPrediction-BackendNEW.hf.space/v1/predictbatch", files={"file": uploaded_file} ) if response.status_code == 200: predictions = response.json() st.success("Batch predictions completed!") st.write(predictions) # Display the predictions else: st.error("Error making batch prediction.")