DataWizard9742 commited on
Commit
27c3631
·
verified ·
1 Parent(s): e19db22

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +68 -0
app.py ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import numpy as np
3
+ import pandas as pd
4
+ import pickle
5
+ import joblib
6
+ import sklearn
7
+
8
+ model = joblib.load("model_Rf-3.pkl",'rb')
9
+
10
+ st.title("Customer Churn Prediction")
11
+ st.write("Predict whether a customer will churn based on their details")
12
+
13
+ # ['CreditScore', 'Age', 'Tenure', 'Balance', 'EstimatedSalary']
14
+
15
+ credit_score = st.number_input("Credit Score",min_value=300,max_value=900)
16
+ credit_score = credit_score/900
17
+
18
+ age = st.slider("Age",min_value=18,max_value=100)
19
+ age = age/92
20
+
21
+ tenure = st.slider("Tenure",min_value=0,max_value=10)
22
+ tenure = tenure/10
23
+
24
+ balance = st.number_input("Balance",min_value=0.0,step=1000.0)
25
+ balance = balance/250898.090000
26
+
27
+ num_of_prods = st.slider("Number of Products",min_value=1,max_value=4)
28
+ num_of_prods = num_of_prods/4
29
+
30
+ has_cr_card = st.selectbox("Has Credit Card",[0,1],format_func = lambda x:"YES" if x==1 else "NO")
31
+
32
+ is_activemember = st.selectbox("Are you an Active Member",[0,1],format_func = lambda x:"YES" if x==1 else "NO")
33
+
34
+ salary = st.number_input("Estimated Salary",min_value=0.0,step=5000.0)
35
+ salary = salary/199992.480000
36
+
37
+ geography = st.selectbox("Please Ennter your Country",["France","Germany","Spain"])
38
+ france,germany,spain = 0,0,0
39
+ if geography=="France":
40
+ france = 1
41
+ germany = 0
42
+ spain = 0
43
+ elif geography == "Germany":
44
+ france = 0
45
+ germany = 1
46
+ spain = 0
47
+ else:
48
+ france = 0
49
+ germany = 0
50
+ spain = 1
51
+
52
+ gender = st.selectbox("Please Ennter your Gender",["Male","Female"])
53
+ gender_male , gender_female = 0,0
54
+ if gender=="Male":
55
+ gender_male = 1
56
+ gender_female = 0
57
+ else:
58
+ gender_male = 0
59
+ gender_female = 1
60
+
61
+ inputs = np.array([[credit_score,age,tenure,balance,num_of_prods,has_cr_card,is_activemember,salary,france,germany,spain,gender_male,gender_female]])
62
+
63
+ if st.button("--PREDICT--"):
64
+ prediction = model.predict(inputs)
65
+ if prediction[0] == 1:
66
+ st.error("The customer is likely to churn")
67
+ else:
68
+ st.success("The customer is not likely to churn")