File size: 2,689 Bytes
0e5e7c1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import streamlit as st
import pandas as pd
import requests

#Streamlit UI for customer churn prediction
st.title("SuperKart Sales Predictor App")
st.write("This tool predicts store sales revenue based on store and product details. Enter the required information below.")

#Collect user info based on dataset columns
ProductWeight = st.number_input("Product_Weight", min_value= 0.5, max_value= 100.0),
ProductSugarContent = st.selectbox("Product_Sugar_Content",["No Sugar", "Low Sugar", "Regular"])	
ProductAllocatedArea = st.number_input("Product_Allocated_Area", min_value=0.001, max_value=0.5),
ProductType = st.selectbox("Product_Type",["Baking Goods", "Breads", "Breakfast", "Canned", "Dairy", "Frozen Foods", "Fruits and Vegetables", "Hard Drinks", "Health and Hygiene", "Household", "Meat", "Seafood", "Snack Foods", "Soft Drinks", "Starchy Foods"]),
ProductMRP = st.number_input("Product_MRP", min_value=5, max_value=500),
StoreID = st.selectbox("Store_Id",["OUT001", "OUT002", "OUT003","OUT004"]),
StoreSize = st.selectbox("Store_Size", ["Small", "Medium", "High"]),	
StoreLocationCityType = st.selectbox("Store_Location_City_Type",["Tier 1", "Tier 2", "Tier 3"]),	
StoreType = st.selectbox("Store_Type",["Supermarket Type1", "Supermarket Type2", "Grocery Store"]),
StoreEstablishmentYear = st.number_input("Store_Age", min_value=2023, max_value=2027)

#Convert categorical inputs to match model training
store_data = {
      'Product_Weight' :	ProductWeight,
      'Product_Sugar_Content' : ProductSugarContent,	
      'Product_Allocated_Area'	: ProductAllocatedArea,
      'Product_Type'	: ProductType,
      'Product_MRP'	: ProductMRP,
      'Store_Id'	: StoreID,
      'Store_Size' : StoreSize,	
      'Store_Location_City_Type' : StoreLocationCityType,	
      'Store_Type' : 	StoreType,
      'Store_Age' : StoreEstablishmentYear
}

if st.button("Predict", type='primary'):
  response = requests.post("https://rojasnath/Backend.hf.space/predict", json=store_data)
  if response.status_code == 200:
    result = response.json()
    sales_prediction = result['prediction']
    st.write(f"Based on the information provided, the forecasted sales revenue for the store is ${sales_prediction:.2f}.")
  else:
    st.error("Error in API Request")


#Batch Prediction
st.subheader("Batch Prediction")

file = st.file_uploader("Upload a CSV file", type=["csv"])
if file is not None:
  if st.button("Predict"):
    response = requests.post("https://rojasnath/Backend.hf.space/predict_batch", files={"file": file})
    if response.status_code == 200:
    result = response.json()
    st.header("Bacth Prediction Results")
    st.write(result)
  else:
    st.error("Error in API Request")