Spaces:
Sleeping
Sleeping
| import pandas as pd | |
| import numpy as np | |
| import requests | |
| import streamlit as st | |
| st.title('Customer Churn Prediction Frontend') | |
| st.subheader('Online Prediction') | |
| CustomerId=st.number_input('CustomerId',min_value=10000,max_value=99999999) | |
| Surname=st.text_input('Surname') | |
| CreditScore=st.number_input('CreditScore',min_value=300,max_value=900,value=450) | |
| Geography=st.selectbox('Geography',['France','Spain','Germany']) | |
| Age=st.number_input('Age',min_value=18,max_value=100,value=30) | |
| Tenure=st.number_input('Tenure',min_value=0,max_value=10,value=5) | |
| Balance=st.number_input('Balance',min_value=0.00,max_value=99999.99,value=97198.54) | |
| NumOfProducts=st.number_input('NumOfProducts',min_value=1,max_value=4,value=2) | |
| HasCrCard=st.selectbox('HasCrCard',['Yes','No']) | |
| IsActiveMember=st.selectbox('IsActiveMember',['Yes','No']) | |
| EstimatedSalary=st.number_input('EstimatedSalary',min_value=10.00,max_value=999999.99) | |
| input_data={'CreditScore':CreditScore, | |
| 'Geography':Geography, | |
| 'Age':Age, | |
| 'Tenure':Tenure, | |
| 'Balance':Balance, | |
| 'NumOfProducts':NumOfProducts, | |
| 'HasCrCard':1 if HasCrCard=='Yes' else 0, | |
| 'IsActiveMember':1 if IsActiveMember=='Yes' else 0, | |
| 'EstimatedSalary':EstimatedSalary | |
| } | |
| if st.button('Predict'): | |
| response=requests.post("https://siddhesh1981-CustomerChurnBackend.hf.space/Predict/Data",json=input_data) | |
| if response.status_code==200: | |
| result=response.json() | |
| st.success(f"Based on the given input information the Customer with id {CustomerId} and Surname {Surname} is expected to {result['predict_label']}") | |
| else: | |
| st.error(response.text) | |
| st.subheader('Batch Prediction') | |
| file2=st.file_uploader('Upload a csv file',type=['csv']) | |
| if file2 is not None: | |
| if st.button('Predict Batch'): | |
| response=requests.post("https://siddhesh1981-CustomerChurnBackend.hf.space/Predict/Batch",files={'file':file2}) | |
| if response.status_code==200: | |
| result=response.json() | |
| st.subheader('Batch Prediction Result') | |
| st.success(result) | |
| else: | |
| st.error(response.text) | |