Spaces:
Running
Running
import pandas as pd | |
import requests | |
import streamlit as st | |
st.title('SuperKart Sale Prediction') | |
# Inputs for prediction | |
Product_Weight = st.number_input('Product_Weight', value=15.46) | |
Product_Sugar_Content = st.selectbox('Product_Sugar_Content', ['No Sugar', 'Low Sugar', 'Regular', 'reg'], index=0) | |
Product_Allocated_Area = st.number_input('Product_Allocated_Area', value=0.026) | |
Product_Type = st.selectbox('Product_Type', ['Household', 'Soft Drinks', 'Fruits and Vegetables', | |
'Baking Goods', 'Meat', 'Dairy', 'Canned', 'Snack Foods', | |
'Frozen Foods', 'Health and Hygiene', 'Breads', 'Hard Drinks', | |
'Others', 'Starchy Foods', 'Breakfast', 'Seafood'], index=0) | |
Product_MRP = st.number_input('Product_MRP', value=171.83) | |
Store_Id = st.selectbox('Store_Id', ['OUT001', 'OUT003', 'OUT004', 'OUT002'], index=0) | |
Store_Establishment_Year = st.selectbox('Store_Establishment_Year',[1987,1998,1999,2009], index=0) | |
Store_Size = st.selectbox('Store_Size', ['Small', 'Medium', 'High'], index=0) | |
Store_Location_City_Type = st.selectbox('Store_Location_City_Type', ['Tier 1', 'Tier 2', 'Tier 3'], index=1) | |
Store_Type = st.selectbox('Store_Type', ['Supermarket Type1', 'Departmental Store', 'Supermarket Type2', 'Food Mart'], index=0) | |
# Create input data as DataFrame | |
input_data = pd.DataFrame([{ | |
'Product_Weight': Product_Weight, | |
'Product_Sugar_Content': Product_Sugar_Content, | |
'Product_Allocated_Area': Product_Allocated_Area, | |
'Product_Type': Product_Type, | |
'Product_MRP': Product_MRP, | |
'Store_Id': Store_Id, | |
'Store_Establishment_Year': Store_Establishment_Year, | |
'Store_Size': Store_Size, | |
'Store_Location_City_Type': Store_Location_City_Type, | |
'Store_Type': Store_Type, | |
}]) | |
# Single prediction | |
if st.button('Predict'): | |
response = requests.post( | |
'https://enoch1359-back-end-files.hf.space/v1/spkart_single', | |
json=input_data.to_dict(orient='records')[0] | |
) | |
if response.status_code == 200: | |
prediction = response.json() | |
st.success(f"Predicted Sale: {prediction['Sale']}") | |
else: | |
st.error(f"Error making prediction: {response.text}") | |
# Batch prediction | |
st.subheader('Batch Prediction') | |
uploaded_file = st.file_uploader('Upload a CSV file', type=['csv']) | |
if uploaded_file is not None: | |
if st.button('Predict Batch'): | |
response = requests.post( | |
'https://enoch1359-back-end-files.hf.space/v1/spkart_batch', | |
files={'file': uploaded_file} | |
) | |
if response.status_code == 200: | |
predictions = response.json() | |
st.success("Batch predictions completed!") | |
st.json(predictions) | |
else: | |
st.error(f"Error making batch prediction: {response.text}") | |