import streamlit as st import pandas as pd import requests # Set the title of the Streamlit app st.title("Superkart Revenue Prediction") # Section for online prediction st.subheader("Online Prediction") # Collect user input for property features product_weight = st.number_input("Product_Weight", min_value=0.0, max_value=1000.0, step=0.1, 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", min_value=0.0, max_value=1.0, step=0.001, value=0.027) product_type = st.selectbox("Product_Type", ["Frozen Foods", "Dairy", "Canned", "Baking Goods", "Health and Hygiene", "Snack Foods"]) product_mrp = st.number_input("Product_MRP", min_value=0.0, max_value=1000.0, step=0.1, value=117.08) store_id = st.text_input("Store_Id", ["OUT001", "OUT002", "OUT003", "OUT004"]) store_establishment_year = st.number_input("Store_Establishment_Year", min_value=1900, max_value=2027, step=1, value=2009) 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", ["Supermarket Type1", "Supermarket Type2", "Departmental Store", "Food Mart"]) #product_store_sales_total = st.number_input("Product_Store_Sales_Total", min_value=0.0, max_value=10000.0, step=0.1, value=2842.4) 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, }]) # Make prediction when the "Predict" button is clicked if st.button("Predict"): response = requests.post("https://-.hf.space/v1/revenue", json=input_data.to_dict(orient='records')[0]) # Send data to Flask API if response.status_code == 200: prediction = response.json()['Predicted Revenue (in dollars)'] st.success(f"Predicted Rental Revenue (in dollars): {prediction}") else: st.error("Error making prediction.") # 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://-.hf.space/v1/revenuebatch", files={"file": uploaded_file}) # Send file to Flask API 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.")