didev007 commited on
Commit
c57920b
·
1 Parent(s): 325580c

Upload 7 files

Browse files
app.py ADDED
@@ -0,0 +1,102 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import pickle
3
+ import json
4
+ import pandas as pd
5
+ import numpy as np
6
+
7
+ with open("list_num_skew_columns.txt", 'r') as file_1:
8
+ list_num_skew_columns = json.load(file_1)
9
+
10
+ with open("list_cat_nom_columns.txt", "r") as file_2:
11
+ num_col_skew = json.load(file_2)
12
+
13
+ with open("scaler_minmax.pkl", "rb") as file_3:
14
+ model_scaler = pickle.load(file_3)
15
+
16
+ with open("encoder_n.pkl", "rb") as file_4:
17
+ model_nominal_encoder = pickle.load(file_4)
18
+
19
+ with open("knn_gridcv_best.pkl", "rb") as file_5:
20
+ knn_gridcv_best = pickle.load(file_5)
21
+
22
+ def run():
23
+ # create form
24
+ with st.form("form_payment"):
25
+ age = st.number_input("age",
26
+ min_value= 20,
27
+ max_value= 70,
28
+ value=30,
29
+ step=2)
30
+
31
+ limit_balance = st.slider("limit_balance",0,800000)
32
+ bill_amt_1 = st.slider("bill_amt_1",-100000,600000)
33
+ bill_amt_2 = st.slider("bill_amt_2",-100000,600000)
34
+ bill_amt_3 = st.slider("bill_amt_3",-100000,600000)
35
+ bill_amt_4 = st.slider("bill_amt_4",-100000,600000)
36
+ bill_amt_5 = st.slider("bill_amt_5",-100000,600000)
37
+ bill_amt_6 = st.slider("bill_amt_6",-100000,600000)
38
+ st.markdown("---")
39
+ pay_amt_1 = st.slider("pay_amt_1",-0,1000000)
40
+ pay_amt_2 = st.slider("pay_amt_2",-0,1000000)
41
+ pay_amt_3 = st.slider("pay_amt_3",-0,1000000)
42
+ pay_amt_4 = st.slider("pay_amt_4",-0,1000000)
43
+ pay_amt_5 = st.slider("pay_amt_5",-0,1000000)
44
+ pay_amt_6 = st.slider("pay_amt_6",-0,1000000)
45
+
46
+ st.markdown("---")
47
+ sex = st.radio("sex",("1","2"),help="1 for male,2 for female",index= 0)
48
+ education_level = st.radio("education level",("0","1","2","3","4","5","6"),index= 0)
49
+ marital_status = st.radio("marital_status",("0","1","2","3"),index= 0)
50
+
51
+ st.markdown("---")
52
+ pay_0 = st.radio("pay_0",("-2","-1","0","1","2","3","4","5","6","7","8"),index= 0)
53
+ pay_2 = st.radio("pay_2",("-2","-1","0","1","2","3","4","5","6","7","8"),index= 0)
54
+ pay_3 = st.radio("pay_3",("-2","-1","0","1","2","3","4","5","6","7","8"),index= 0)
55
+ pay_4 = st.radio("pay_4",("-2","-1","0","1","2","3","4","5","6","7","8"),index= 0)
56
+ pay_5 = st.radio("pay_5",("-2","-1","0","1","2","3","4","5","6","7","8"),index= 0)
57
+ pay_6 = st.radio("pay_6",("-2","-1","0","1","2","3","4","5","6","7","8"),index= 0)
58
+ st.markdown("---")
59
+
60
+ submitted = st.form_submit_button("predict")
61
+
62
+ data_inf = {
63
+ "limit_balance" : limit_balance,
64
+ "sex" : sex,
65
+ "education_level" : education_level,
66
+ "marital_status" : marital_status,
67
+ "age" : age,
68
+ "pay_0" : pay_0,
69
+ "pay_2" : pay_2,
70
+ "pay_3" : pay_3,
71
+ "pay_4" : pay_4,
72
+ "pay_5" : pay_5,
73
+ "pay_6" : pay_6,
74
+ "bill_amt_1" : bill_amt_1,
75
+ "bill_amt_2" : bill_amt_2,
76
+ "bill_amt_3" : bill_amt_3,
77
+ "bill_amt_4" : bill_amt_4,
78
+ "bill_amt_5" : bill_amt_5,
79
+ "bill_amt_6" : bill_amt_6,
80
+ "pay_amt_1" : pay_amt_1,
81
+ "pay_amt_2" : pay_amt_2,
82
+ "pay_amt_3" : pay_amt_3,
83
+ "pay_amt_4" : pay_amt_4,
84
+ "pay_amt_5" : pay_amt_5,
85
+ "pay_amt_6" : pay_amt_6
86
+ }
87
+
88
+ data_inf = pd.DataFrame([data_inf])
89
+ st.dataframe(data_inf)
90
+
91
+ if submitted:
92
+ data_inf_num_skew = data_inf[list_num_skew_columns]
93
+ data_inf_cat_nom = data_inf[num_col_skew]
94
+ data_inf_num_scal = model_scaler.transform(data_inf_num_skew)
95
+ data_inf_cat_nom_enc = model_nominal_encoder.transform(data_inf_cat_nom)
96
+ data_inf_final = np.concatenate([data_inf_num_scal,data_inf_cat_nom_enc],axis=1)
97
+ y_predict_inf = knn_gridcv_best.predict(data_inf_final)
98
+
99
+ st.write("# Default_payment: ",str(int(y_inf_pred)))
100
+
101
+ if __name__=="__main__":
102
+ run()
encoder_n.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cd3a1dd87d75d1e40721edeb9e18c71d274666715e72f41a084d604eb70adf3b
3
+ size 1281
knn_gridcv_best.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:07180f84b3c0f168bab0d5ec66fa59629515fadd3157971b45326931728458ee
3
+ size 1233587
list_cat_nom_columns.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ ["pay_0", "pay_2", "pay_3", "pay_4", "pay_5", "pay_6"]
list_num_skew_columns.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ ["limit_balance", "pay_amt_1", "pay_amt_2", "pay_amt_3", "pay_amt_4", "pay_amt_5", "pay_amt_6"]
requirements.txt ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ streamlit
2
+ pandas
3
+ numpy
4
+ matplotlib
5
+ seaborn
6
+ scikit-learn
scaler_minmax.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0897120071f4f620b633a3a8b8e7f55ef8caec6dd963fbb5f1381585df73de04
3
+ size 936