import requests import streamlit as st import pandas as pd st.title("Frontend Prediction") # Batch Prediction st.subheader("Online Prediction") # Input fields for data entry (default values = median from your description) ID = st.number_input("Customer ID", min_value=1, max_value=5000, value=2500) Age = st.number_input("Age", min_value=18, max_value=100, value=45) Experience = st.number_input("Experience (Years)", min_value=-5, max_value=50, value=20) Income = st.number_input("Annual Income (in $000)", min_value=0, max_value=300, value=64) ZIPCode = st.number_input("ZIP Code", min_value=90000, max_value=99999, value=93437) Family = st.selectbox("Family Members", [1, 2, 3, 4], index=1) CCAvg = st.number_input("Credit Card Avg Monthly Spend", min_value=0.0, max_value=10.0, value=1.5) Education = st.selectbox("Education Level", [1, 2, 3], index=1) Mortgage = st.number_input("Mortgage Amount", min_value=0, max_value=1000, value=0) Securities_Account = st.selectbox("Has Securities Account?", [0, 1], index=0) CD_Account = st.selectbox("Has CD Account?", [0, 1], index=0) Online = st.selectbox("Uses Online Banking?", [0, 1], index=1) CreditCard = st.selectbox("Has Credit Card?", [0, 1], index=0) # Dictionary for model input user_input_data = { 'ID': ID, 'Age': Age, 'Experience': Experience, 'Income': Income, 'ZIPCode': ZIPCode, 'Family': Family, 'CCAvg': CCAvg, 'Education': Education, 'Mortgage': Mortgage, 'Securities_Account': Securities_Account, 'CD_Account': CD_Account, 'Online': Online, 'CreditCard': CreditCard } if st.button("Predict", type='primary'): response = requests.post("https://kjdeka-test-backend.hf.space/v1/dijakbn", json=user_input_data) # enter user name and backend space name before running the cell if response.status_code == 200: result = response.json() frontend_prediction = result["Prediction"] # Extract only the value st.write(f"Prediction is {frontend_prediction}.") else: st.error("Error in API request") # Batch Prediction st.subheader("Batch Prediction") file = st.file_uploader("Upload CSV file", type=["csv"]) if file is not None: if st.button("Predict for Batch", type='primary'): response = requests.post("https://kjdeka-test-backend.hf.space/v1/dijakbnbatch", files={"file": file}) # enter user name and backend space name before running the cell if response.status_code == 200: result = response.json() st.header("Batch Prediction Results") st.write(result) else: st.error("Error in API request")