|
|
| import streamlit as st |
| import requests |
|
|
| st.title("Sales Forecast Prediction Model") |
|
|
| |
| 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"]) |
| |
| Store_Age_Years = st.number_input("Store Age (in years)", min_value=0.0, value=10.0) |
| |
| 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, |
| |
| "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") |
|
|
|
|
|
|
| |
| st.subheader("Batch Prediction") |
|
|
| |
| uploaded_file = st.file_uploader("Upload CSV file for batch prediction", type=["csv"]) |
|
|
| |
| 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) |
| else: |
| st.error("Error making batch prediction.") |
|
|