hilalrd commited on
Commit
1b301f3
1 Parent(s): 90c0103

Upload 7 files

Browse files
Files changed (7) hide show
  1. app.py +410 -0
  2. cat_cols.json +1 -0
  3. cat_num_cols.json +1 -0
  4. columns_to_drop.json +1 -0
  5. normal_dist.json +1 -0
  6. pipeline.pkl +3 -0
  7. skewed_dist.json +1 -0
app.py ADDED
@@ -0,0 +1,410 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import pandas as pd
2
+ import streamlit as st
3
+ import pickle
4
+ import json
5
+
6
+ # load the combined pipeline
7
+ with open('pipeline.pkl', 'rb') as file:
8
+ pipeline = pickle.load(file)
9
+
10
+ # load the list of numeric columns
11
+ with open('normal_dist.json', 'r') as file:
12
+ normal_dist = json.load(file)
13
+
14
+ with open('skewed_dist.json', 'r') as file:
15
+ skewed_dist = json.load(file)
16
+
17
+ # load the list of categorical columns (object type)
18
+ with open('cat_cols.json', 'r') as file:
19
+ cat_cols = json.load(file)
20
+
21
+ # load the list of categorical columns (number type)
22
+ with open('cat_num_cols.json', 'r') as file:
23
+ cat_num_cols = json.load(file)
24
+
25
+ with open('columns_to_drop.json', 'r') as file:
26
+ columns_to_drop = json.load(file)
27
+
28
+ def run():
29
+ # membuat title
30
+ st.title('Credit Default Risk Prediction')
31
+ st.subheader('Predicting Credit Default')
32
+ st.markdown('---')
33
+ st.write("# Customer Information")
34
+ # Buat form
35
+ with st.form(key='form_credit'):
36
+ st.write("#### Client's Personal Information")
37
+ SK_ID_CURR = st.number_input('Client ID', min_value=0, max_value=9999999, value=0)
38
+ NAME_CONTRACT_TYPE = st.selectbox('Contract Type', ('Cash loans', 'Revolving loans'))
39
+ CODE_GENDER = st.radio('Clients gender', ('F', 'M'))
40
+ FLAG_OWN_CAR = st.radio('Flag if the client owns a car', ('N', 'Y'))
41
+ FLAG_OWN_REALTY= st.radio('Flag if client owns a house or flat', ('N', 'Y'))
42
+ CNT_CHILDREN= st.number_input("Client's Children Count", min_value=0, max_value=20, value=0)
43
+
44
+ st.markdown('---')
45
+ st.write("#### Client's Financial Information")
46
+
47
+ AMT_INCOME_TOTAL= st.number_input('Client Income', min_value=0, max_value=9999999, value=30000)
48
+ AMT_CREDIT=st.number_input('Client Credit Amount', min_value=0, max_value=9999999, value=30000)
49
+ AMT_ANNUITY=st.number_input('Client Annuity', min_value=0, max_value=9999999, value=3000)
50
+ AMT_GOODS_PRICE=st.number_input('price of the goods for which the loan is given', min_value=0, max_value=9999999, value=50000)
51
+ NAME_TYPE_SUITE=st.selectbox('Who was accompanying client when they were applying for the loan', ('Unaccompanied', 'Family', 'Spouse, partner', 'Group of people', 'Other_B', 'Children', 'Other_A'))
52
+ NAME_INCOME_TYPE=st.selectbox('Clients income type', ('Working', 'State servant', 'Pensioner', 'Commercial associate', 'Businessman', 'Student', 'Unemployed'))
53
+ NAME_EDUCATION_TYPE=st.selectbox('Level of highest education the client achieved', ('Higher education', 'Secondary / secondary special', 'Incomplete higher', 'Lower secondary', 'Academic degree'))
54
+ NAME_FAMILY_STATUS=st.selectbox('Family status of the client', ('Married', 'Single / not married', 'Civil marriage', 'Widow', 'Separated'))
55
+ NAME_HOUSING_TYPE=st.selectbox('What is the housing situation of the client', ('House / apartment', 'With parents', 'Rented apartment', 'Municipal apartment', 'Office apartment', 'Co-op apartment'))
56
+ REGION_POPULATION_RELATIVE=st.slider('Normalized population of region where client lives', min_value=0.000000, max_value=0.080000, value=0.0200, step=0.000001)
57
+
58
+ st.markdown('---')
59
+
60
+ DAYS_BIRTH_= st.number_input('How many days before the client was born', min_value=7000, max_value=30000, value=15000)
61
+ DAYS_BIRTH = -1 * DAYS_BIRTH_
62
+ DAYS_EMPLOYED_= st.number_input('How many days before the application the person started current employment', min_value=0, max_value=30000, value=5000)
63
+ DAYS_EMPLOYED = -1* DAYS_EMPLOYED_
64
+ DAYS_REGISTRATION_= st.number_input('How many days before the application did client change his registration', min_value=0, max_value=30000, value=5000)
65
+ DAYS_REGISTRATION = -1* DAYS_REGISTRATION_
66
+ DAYS_ID_PUBLISH_ = st.number_input('How many days before the application did client change the identity document with which he applied for the loan', min_value=0, max_value=30000, value=5000)
67
+ DAYS_ID_PUBLISH = -1* DAYS_ID_PUBLISH_
68
+
69
+ st.markdown('---')
70
+ OWN_CAR_AGE=st.number_input('Age of client\'s car', min_value=0, max_value=100, value=0)
71
+
72
+ st.markdown('---')
73
+ FLAG_MOBIL_=st.radio('Did client provide mobile phone', ('Yes', 'No'), index=0)
74
+ if FLAG_MOBIL_ == 'No':
75
+ FLAG_MOBIL = 0
76
+ else:
77
+ FLAG_MOBIL = 1
78
+ FLAG_EMP_PHONE_=st.radio('Did client provide emp phone', ('Yes', 'No'), index=0)
79
+ if FLAG_EMP_PHONE_ == 'No':
80
+ FLAG_EMP_PHONE = 0
81
+ else:
82
+ FLAG_EMP_PHONE = 1
83
+ FLAG_WORK_PHONE_=st.radio('Did client provide work phone', ('Yes', 'No'), index=0)
84
+ if FLAG_WORK_PHONE_ == 'No':
85
+ FLAG_WORK_PHONE = 0
86
+ else:
87
+ FLAG_WORK_PHONE = 1
88
+ FLAG_CONT_MOBILE_=st.radio('Was mobile phone reachable', ('Yes', 'No'), index=0)
89
+ if FLAG_CONT_MOBILE_ == 'No':
90
+ FLAG_CONT_MOBILE = 0
91
+ else:
92
+ FLAG_CONT_MOBILE = 1
93
+ FLAG_PHONE_=st.radio('Did client provide home phone', ('Yes', 'No'), index=0)
94
+ if FLAG_PHONE_ == 'No':
95
+ FLAG_PHONE = 0
96
+ else:
97
+ FLAG_PHONE = 1
98
+ FLAG_EMAIL_=st.radio('Did client provide email', ('Yes', 'No'), index=0)
99
+ if FLAG_EMAIL_ == 'No':
100
+ FLAG_EMAIL = 0
101
+ else:
102
+ FLAG_EMAIL = 1
103
+ st.markdown('---')
104
+ OCCUPATION_TYPE= st.selectbox('What kind of occupation does the client have', ('Low-skill Laborers', 'Drivers', 'Sales staff',
105
+ 'High skill tech staff', 'Core staff', 'Laborers',
106
+ 'Managers', 'Accountants', 'Medicine staff',
107
+ 'Security staff', 'Private service staff', 'Secretaries',
108
+ 'Cleaning staff', 'Cooking staff', 'HR staff',
109
+ 'Waiters/barmen staff', 'Realty agents', 'IT staff'))
110
+ CNT_FAM_MEMBERS= st.number_input("How many family members does client have", min_value=0, max_value=20, value=0)
111
+ REGION_RATING_CLIENT= st.radio('Our rating of the region where client lives', (1, 2, 3), index=0)
112
+ REGION_RATING_CLIENT_W_CITY= st.radio('Our rating of the region where client lives with taking city into account', (1, 2, 3), index=0)
113
+ st.markdown('---')
114
+ WEEKDAY_APPR_PROCESS_START= st.radio('Day of the week when the client apply for the loan', ('MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY'))
115
+ HOUR_APPR_PROCESS_START= st.number_input('Hour when client apply for the loan', min_value=0, max_value=24, value=0, step=1, help="Input rounded value.")
116
+
117
+ st.markdown('---')
118
+ st.write("#### Client's Address in Region")
119
+
120
+ REG_REGION_NOT_LIVE_REGION_=st.radio('Permanent address does not match contact address', ('No', 'Yes'))
121
+ if REG_REGION_NOT_LIVE_REGION_ == 'No':
122
+ REG_REGION_NOT_LIVE_REGION = 0
123
+ else:
124
+ REG_REGION_NOT_LIVE_REGION = 1
125
+ REG_REGION_NOT_WORK_REGION_=st.radio('Permanent address does not match work address', ('No', 'Yes'))
126
+ if REG_REGION_NOT_WORK_REGION_ == 'No':
127
+ REG_REGION_NOT_WORK_REGION = 0
128
+ else:
129
+ REG_REGION_NOT_WORK_REGION = 1
130
+ LIVE_REGION_NOT_WORK_REGION= st.radio('Contact address does not match work address', ('No', 'Yes'))
131
+ if LIVE_REGION_NOT_WORK_REGION == 'No':
132
+ LIVE_REGION_NOT_WORK_REGION = 0
133
+ else:
134
+ LIVE_REGION_NOT_WORK_REGION = 1
135
+ st.markdown('---')
136
+ st.write("#### Client's Address in City")
137
+
138
+ REG_CITY_NOT_LIVE_CITY= st.radio('Contact address (city) does not match contact address', ('No', 'Yes'))
139
+ if REG_CITY_NOT_LIVE_CITY == 'No':
140
+ REG_CITY_NOT_LIVE_CITY = 0
141
+ else:
142
+ REG_CITY_NOT_LIVE_CITY = 1
143
+ REG_CITY_NOT_WORK_CITY= st.radio('Permanent address (city) does not match work address', ('No', 'Yes'))
144
+ if REG_CITY_NOT_WORK_CITY == 'No':
145
+ REG_CITY_NOT_WORK_CITY = 0
146
+ else:
147
+ REG_CITY_NOT_WORK_CITY = 1
148
+ LIVE_CITY_NOT_WORK_CITY= st.radio('Contact address (city) does not match work address', ('No', 'Yes'))
149
+ if LIVE_CITY_NOT_WORK_CITY == 'No':
150
+ LIVE_CITY_NOT_WORK_CITY = 0
151
+ else:
152
+ LIVE_CITY_NOT_WORK_CITY = 1
153
+ ORGANIZATION_TYPE= st.selectbox('Type of organization where client works', ('Kindergarten', 'Self-employed', 'Transport: type 3',
154
+ 'Business Entity Type 3', 'Government', 'Industry: type 9',
155
+ 'School', 'Trade: type 2', 'XNA', 'Services', 'Bank',
156
+ 'Industry: type 3', 'Other', 'Trade: type 6', 'Industry: type 12',
157
+ 'Trade: type 7', 'Postal', 'Medicine', 'Housing',
158
+ 'Business Entity Type 2', 'Construction', 'Military',
159
+ 'Industry: type 4', 'Trade: type 3', 'Legal Services', 'Security',
160
+ 'Industry: type 11', 'University', 'Business Entity Type 1',
161
+ 'Agriculture', 'Security Ministries', 'Transport: type 2',
162
+ 'Industry: type 7', 'Transport: type 4', 'Telecom', 'Emergency',
163
+ 'Police', 'Industry: type 1', 'Transport: type 1', 'Electricity',
164
+ 'Industry: type 5', 'Hotel', 'Restaurant', 'Advertising', 'Mobile',
165
+ 'Trade: type 1', 'Industry: type 8', 'Realtor', 'Cleaning',
166
+ 'Industry: type 2', 'Trade: type 4', 'Industry: type 6', 'Culture',
167
+ 'Insurance', 'Religion', 'Industry: type 13', 'Industry: type 10',
168
+ 'Trade: type 5'))
169
+
170
+ st.markdown('---')
171
+ st.write("#### Credit Score")
172
+ EXT_SOURCE_1= st.slider('Credit Score from Source 1', min_value=0.0, max_value=20.0, value=0.1, step=1.0, help="Input rounded value.")
173
+ EXT_SOURCE_2= st.slider('Credit Score from Source 2', min_value=0.0, max_value=20.0, value=0.1, step=1.0, help="Input rounded value.")
174
+ EXT_SOURCE_3= st.slider('Credit Score from Source 3', min_value=0.0, max_value=20.0, value=0.1, step=1.0, help="Input rounded value.")
175
+ st.markdown('---')
176
+
177
+ st.write("#### Client's social surroundings")
178
+ OBS_30_CNT_SOCIAL_CIRCLE= st.number_input('Observation 30 days past due',min_value=0, max_value=50, value=0, step=1, help="Input rounded value.")
179
+ DEF_30_CNT_SOCIAL_CIRCLE= st.number_input('Number of default 30 days past due', min_value=0, max_value=50, value=0, step=1, help="Input rounded value.")
180
+ OBS_60_CNT_SOCIAL_CIRCLE= st.number_input('Observation 60 days past due', min_value=0, max_value=50, value=0, step=1, help="Input rounded value.")
181
+ DEF_60_CNT_SOCIAL_CIRCLE= st.number_input('Number of default 60 days past due', min_value=0, max_value=50, value=0, step=1, help="Input rounded value.")
182
+
183
+ DAYS_LAST_PHONE_CHANGE_ = st.number_input('How many days before application did client change phone', min_value=0, max_value=10000, value=1000)
184
+ DAYS_LAST_PHONE_CHANGE = -1 * DAYS_LAST_PHONE_CHANGE_
185
+
186
+ st.markdown('---')
187
+
188
+ st.write("#### Client's Document")
189
+ flag_document_2= st.radio('Did client provide Identification?', ('No', 'Yes'))
190
+ if flag_document_2 == 'No':
191
+ FLAG_DOCUMENT_2 = 0
192
+ else:
193
+ FLAG_DOCUMENT_2 = 1
194
+ FLAG_DOCUMENT_3_= st.radio('Did client provide proof of address?', ('No', 'Yes'))
195
+ if FLAG_DOCUMENT_3_ == 'No':
196
+ FLAG_DOCUMENT_3 = 0
197
+ else:
198
+ FLAG_DOCUMENT_3 = 1
199
+ FLAG_DOCUMENT_4_= st.radio('Did client provide bank statement?', ('No', 'Yes'))
200
+ if FLAG_DOCUMENT_4_ == 'No':
201
+ FLAG_DOCUMENT_4 = 0
202
+ else:
203
+ FLAG_DOCUMENT_4 = 1
204
+ FLAG_DOCUMENT_5_= st.radio('Did client provide employment certificate?', ('No', 'Yes'))
205
+ if FLAG_DOCUMENT_5_ == 'No':
206
+ FLAG_DOCUMENT_5 = 0
207
+ else:
208
+ FLAG_DOCUMENT_5 = 1
209
+ FLAG_DOCUMENT_6_= st.radio('Did client provide other document (code = 6)?', ('No', 'Yes'))
210
+ if FLAG_DOCUMENT_6_ == 'No':
211
+ FLAG_DOCUMENT_6 = 0
212
+ else:
213
+ FLAG_DOCUMENT_6 = 1
214
+ FLAG_DOCUMENT_7_= st.radio('Did client provide library card?', ('No', 'Yes'))
215
+ if FLAG_DOCUMENT_7_ == 'No':
216
+ FLAG_DOCUMENT_7 = 0
217
+ else:
218
+ FLAG_DOCUMENT_7 = 1
219
+ FLAG_DOCUMENT_8_= st.radio('Did client provide car registration?', ('No', 'Yes'))
220
+ if FLAG_DOCUMENT_8_ == 'No':
221
+ FLAG_DOCUMENT_8 = 0
222
+ else:
223
+ FLAG_DOCUMENT_8 = 1
224
+ FLAG_DOCUMENT_9_= st.radio('Did client provide passport?', ('No', 'Yes'))
225
+ if FLAG_DOCUMENT_9_ == 'No':
226
+ FLAG_DOCUMENT_9 = 0
227
+ else:
228
+ FLAG_DOCUMENT_9 = 1
229
+
230
+ FLAG_DOCUMENT_10_= st.radio("Did client provide driver's license?", ('No', 'Yes'))
231
+ if FLAG_DOCUMENT_10_ == 'No':
232
+ FLAG_DOCUMENT_10 = 0
233
+ else:
234
+ FLAG_DOCUMENT_10 = 1
235
+
236
+ FLAG_DOCUMENT_11_= st.radio('Did client provide other document (code = 11)?', ('No', 'Yes'))
237
+ if FLAG_DOCUMENT_11_ == 'No':
238
+ FLAG_DOCUMENT_11 = 0
239
+ else:
240
+ FLAG_DOCUMENT_11 = 1
241
+
242
+ FLAG_DOCUMENT_12_= st.radio('Did client provide other document (code = 12)?', ('No', 'Yes'))
243
+ if FLAG_DOCUMENT_12_ == 'No':
244
+ FLAG_DOCUMENT_12 = 0
245
+ else:
246
+ FLAG_DOCUMENT_12 = 1
247
+
248
+ FLAG_DOCUMENT_13_= st.radio('Did client provide other document (code = 13)?', ('No', 'Yes'))
249
+ if FLAG_DOCUMENT_13_ == 'No':
250
+ FLAG_DOCUMENT_13 = 0
251
+ else:
252
+ FLAG_DOCUMENT_13 = 1
253
+
254
+ FLAG_DOCUMENT_14_= st.radio('Did client provide other document (code = 14)?', ('No', 'Yes'))
255
+ if FLAG_DOCUMENT_14_ == 'No':
256
+ FLAG_DOCUMENT_14 = 0
257
+ else:
258
+ FLAG_DOCUMENT_14 = 1
259
+
260
+ FLAG_DOCUMENT_15_= st.radio('Did client provide other document (code = 15)', ('No', 'Yes'))
261
+ if FLAG_DOCUMENT_15_ == 'No':
262
+ FLAG_DOCUMENT_15 = 0
263
+ else:
264
+ FLAG_DOCUMENT_15 = 1
265
+
266
+ FLAG_DOCUMENT_16_= st.radio('Did client provide other document (code = 16)?', ('No', 'Yes'))
267
+ if FLAG_DOCUMENT_16_ == 'No':
268
+ FLAG_DOCUMENT_16 = 0
269
+ else:
270
+ FLAG_DOCUMENT_16 = 1
271
+
272
+ FLAG_DOCUMENT_17_= st.radio('Did client provide other document (code = 17)?', ('No', 'Yes'))
273
+ if FLAG_DOCUMENT_17_ == 'No':
274
+ FLAG_DOCUMENT_17 = 0
275
+ else:
276
+ FLAG_DOCUMENT_17 = 1
277
+
278
+ FLAG_DOCUMENT_18_= st.radio('Did client provide other document (code = 18)?', ('No', 'Yes'))
279
+ if FLAG_DOCUMENT_18_ == 'No':
280
+ FLAG_DOCUMENT_18 = 0
281
+ else:
282
+ FLAG_DOCUMENT_18 = 1
283
+
284
+ FLAG_DOCUMENT_19_= st.radio('Did client provide other document (code = 19)?', ('No', 'Yes'))
285
+ if FLAG_DOCUMENT_19_ == 'No':
286
+ FLAG_DOCUMENT_19 = 0
287
+ else:
288
+ FLAG_DOCUMENT_19 = 1
289
+
290
+ FLAG_DOCUMENT_20_= st.radio('Did client provide other document (code = 20)?', ('No', 'Yes'))
291
+ if FLAG_DOCUMENT_20_ == 'No':
292
+ FLAG_DOCUMENT_20 = 0
293
+ else:
294
+ FLAG_DOCUMENT_20 = 1
295
+
296
+ FLAG_DOCUMENT_21_= st.radio('Did client provide other document (code = 21)?', ('No', 'Yes'))
297
+ if FLAG_DOCUMENT_21_ == 'No':
298
+ FLAG_DOCUMENT_21 = 0
299
+ else:
300
+ FLAG_DOCUMENT_21 = 1
301
+
302
+ st.markdown('---')
303
+
304
+ st.write("#### Number of Enquiries")
305
+
306
+ AMT_REQ_CREDIT_BUREAU_HOUR= st.slider('One hour before application', min_value=0, max_value=24, value=0, step=1, help="Input rounded value.")
307
+ AMT_REQ_CREDIT_BUREAU_DAY= st.slider('One day before application', min_value=0, max_value=31, value=0, step=1, help="Input rounded value.")
308
+ AMT_REQ_CREDIT_BUREAU_WEEK= st.slider('One week before application', min_value=0, max_value=10, value=0, step=1, help="Input rounded value.")
309
+ AMT_REQ_CREDIT_BUREAU_MON= st.slider('One month before application', min_value=0, max_value=24, value=0, step=1, help="Input rounded value.")
310
+ AMT_REQ_CREDIT_BUREAU_QRT= st.slider('Three months before application', min_value=0, max_value=12, value=0, step=1, help="Input rounded value.")
311
+ AMT_REQ_CREDIT_BUREAU_YEAR= st.slider('One year before application', min_value=0, max_value=30, value=0, step=1, help="Input rounded value.")
312
+
313
+ st.markdown('---')
314
+ submitted = st.form_submit_button('Predict')
315
+
316
+ # dataframe
317
+ st.write("# Debtor Summary")
318
+ data_inf = {
319
+ "SK_ID_CURR":SK_ID_CURR,
320
+ "NAME_CONTRACT_TYPE":NAME_CONTRACT_TYPE,
321
+ "CODE_GENDER":CODE_GENDER,
322
+ "FLAG_OWN_CAR":FLAG_OWN_CAR,
323
+ "FLAG_OWN_REALTY":FLAG_OWN_REALTY,
324
+ "CNT_CHILDREN":CNT_CHILDREN,
325
+ "AMT_INCOME_TOTAL":AMT_INCOME_TOTAL,
326
+ "AMT_CREDIT":AMT_CREDIT,
327
+ "AMT_ANNUITY":AMT_ANNUITY,
328
+ "AMT_GOODS_PRICE":AMT_GOODS_PRICE,
329
+ "NAME_TYPE_SUITE":NAME_TYPE_SUITE,
330
+ "NAME_INCOME_TYPE":NAME_INCOME_TYPE,
331
+ "NAME_EDUCATION_TYPE":NAME_EDUCATION_TYPE,
332
+ "NAME_FAMILY_STATUS":NAME_FAMILY_STATUS,
333
+ "NAME_HOUSING_TYPE":NAME_HOUSING_TYPE,
334
+ "REGION_POPULATION_RELATIVE":REGION_POPULATION_RELATIVE,
335
+ "DAYS_BIRTH":DAYS_BIRTH,
336
+ "DAYS_EMPLOYED":DAYS_EMPLOYED,
337
+ "DAYS_REGISTRATION":DAYS_REGISTRATION,
338
+ "DAYS_ID_PUBLISH":DAYS_ID_PUBLISH,
339
+ "OWN_CAR_AGE":OWN_CAR_AGE,
340
+ "FLAG_MOBIL":FLAG_MOBIL,
341
+ "FLAG_EMP_PHONE":FLAG_EMP_PHONE,
342
+ "FLAG_WORK_PHONE":FLAG_WORK_PHONE,
343
+ "FLAG_CONT_MOBILE":FLAG_CONT_MOBILE,
344
+ "FLAG_PHONE":FLAG_PHONE,
345
+ "FLAG_EMAIL":FLAG_EMAIL,
346
+ "OCCUPATION_TYPE":OCCUPATION_TYPE,
347
+ "CNT_FAM_MEMBERS":CNT_FAM_MEMBERS,
348
+ "REGION_RATING_CLIENT":REGION_RATING_CLIENT,
349
+ "REGION_RATING_CLIENT_W_CITY":REGION_RATING_CLIENT_W_CITY,
350
+ "WEEKDAY_APPR_PROCESS_START":WEEKDAY_APPR_PROCESS_START,
351
+ "HOUR_APPR_PROCESS_START":HOUR_APPR_PROCESS_START,
352
+ "REG_REGION_NOT_LIVE_REGION":REG_REGION_NOT_LIVE_REGION,
353
+ "REG_REGION_NOT_WORK_REGION":REG_REGION_NOT_WORK_REGION,
354
+ "LIVE_REGION_NOT_WORK_REGION":LIVE_REGION_NOT_WORK_REGION,
355
+ "REG_CITY_NOT_LIVE_CITY":REG_CITY_NOT_LIVE_CITY,
356
+ "REG_CITY_NOT_WORK_CITY":REG_CITY_NOT_WORK_CITY,
357
+ "LIVE_CITY_NOT_WORK_CITY":LIVE_CITY_NOT_WORK_CITY,
358
+ "ORGANIZATION_TYPE":ORGANIZATION_TYPE,
359
+ "EXT_SOURCE_1":EXT_SOURCE_1,
360
+ "EXT_SOURCE_2":EXT_SOURCE_2,
361
+ "EXT_SOURCE_3":EXT_SOURCE_3,
362
+ "OBS_30_CNT_SOCIAL_CIRCLE":OBS_30_CNT_SOCIAL_CIRCLE,
363
+ "DEF_30_CNT_SOCIAL_CIRCLE":DEF_30_CNT_SOCIAL_CIRCLE,
364
+ "OBS_60_CNT_SOCIAL_CIRCLE":OBS_60_CNT_SOCIAL_CIRCLE,
365
+ "DEF_60_CNT_SOCIAL_CIRCLE":DEF_60_CNT_SOCIAL_CIRCLE,
366
+ "DAYS_LAST_PHONE_CHANGE":DAYS_LAST_PHONE_CHANGE,
367
+ "FLAG_DOCUMENT_2":FLAG_DOCUMENT_2,
368
+ "FLAG_DOCUMENT_3":FLAG_DOCUMENT_3,
369
+ "FLAG_DOCUMENT_4":FLAG_DOCUMENT_4,
370
+ "FLAG_DOCUMENT_5":FLAG_DOCUMENT_5,
371
+ "FLAG_DOCUMENT_6":FLAG_DOCUMENT_6,
372
+ "FLAG_DOCUMENT_7":FLAG_DOCUMENT_7,
373
+ "FLAG_DOCUMENT_8":FLAG_DOCUMENT_8,
374
+ "FLAG_DOCUMENT_9":FLAG_DOCUMENT_9,
375
+ "FLAG_DOCUMENT_10":FLAG_DOCUMENT_10,
376
+ "FLAG_DOCUMENT_11":FLAG_DOCUMENT_11,
377
+ "FLAG_DOCUMENT_12":FLAG_DOCUMENT_12,
378
+ "FLAG_DOCUMENT_13":FLAG_DOCUMENT_13,
379
+ "FLAG_DOCUMENT_14":FLAG_DOCUMENT_14,
380
+ "FLAG_DOCUMENT_15":FLAG_DOCUMENT_15,
381
+ "FLAG_DOCUMENT_16":FLAG_DOCUMENT_16,
382
+ "FLAG_DOCUMENT_17":FLAG_DOCUMENT_17,
383
+ "FLAG_DOCUMENT_18":FLAG_DOCUMENT_18,
384
+ "FLAG_DOCUMENT_19":FLAG_DOCUMENT_19,
385
+ "FLAG_DOCUMENT_20":FLAG_DOCUMENT_20,
386
+ "FLAG_DOCUMENT_21":FLAG_DOCUMENT_21,
387
+ "AMT_REQ_CREDIT_BUREAU_HOUR":AMT_REQ_CREDIT_BUREAU_HOUR,
388
+ "AMT_REQ_CREDIT_BUREAU_DAY":AMT_REQ_CREDIT_BUREAU_DAY,
389
+ "AMT_REQ_CREDIT_BUREAU_WEEK":AMT_REQ_CREDIT_BUREAU_WEEK,
390
+ "AMT_REQ_CREDIT_BUREAU_MON":AMT_REQ_CREDIT_BUREAU_MON,
391
+ "AMT_REQ_CREDIT_BUREAU_QRT":AMT_REQ_CREDIT_BUREAU_QRT,
392
+ "AMT_REQ_CREDIT_BUREAU_YEAR":AMT_REQ_CREDIT_BUREAU_YEAR
393
+ }
394
+
395
+ data_inf = pd.DataFrame([data_inf])
396
+ st.dataframe(data_inf.T, width=800, height=495)
397
+
398
+ if submitted:
399
+ # Predict using created pipeline
400
+ y_pred_inf = pipeline.predict(data_inf)
401
+ if y_pred_inf == 0:
402
+ pred = 'Not Default'
403
+ else:
404
+ pred = 'Default'
405
+ st.markdown('---')
406
+ st.write('# Prediction : ', (pred))
407
+ st.markdown('---')
408
+
409
+ if __name__ == '__main__':
410
+ run()
cat_cols.json ADDED
@@ -0,0 +1 @@
 
 
1
+ ["NAME_CONTRACT_TYPE", "CODE_GENDER", "FLAG_OWN_CAR", "FLAG_OWN_REALTY", "NAME_TYPE_SUITE", "NAME_INCOME_TYPE", "NAME_EDUCATION_TYPE", "NAME_FAMILY_STATUS", "NAME_HOUSING_TYPE", "OCCUPATION_TYPE", "WEEKDAY_APPR_PROCESS_START", "ORGANIZATION_TYPE"]
cat_num_cols.json ADDED
@@ -0,0 +1 @@
 
 
1
+ ["FLAG_MOBIL", "FLAG_EMP_PHONE", "FLAG_WORK_PHONE", "FLAG_CONT_MOBILE", "FLAG_PHONE", "FLAG_EMAIL", "REGION_RATING_CLIENT", "REGION_RATING_CLIENT_W_CITY", "HOUR_APPR_PROCESS_START", "REG_REGION_NOT_LIVE_REGION", "REG_REGION_NOT_WORK_REGION", "LIVE_REGION_NOT_WORK_REGION", "REG_CITY_NOT_LIVE_CITY", "REG_CITY_NOT_WORK_CITY", "LIVE_CITY_NOT_WORK_CITY", "FLAG_DOCUMENT_2", "FLAG_DOCUMENT_3", "FLAG_DOCUMENT_4", "FLAG_DOCUMENT_5", "FLAG_DOCUMENT_6", "FLAG_DOCUMENT_7", "FLAG_DOCUMENT_8", "FLAG_DOCUMENT_9", "FLAG_DOCUMENT_10", "FLAG_DOCUMENT_11", "FLAG_DOCUMENT_12", "FLAG_DOCUMENT_13", "FLAG_DOCUMENT_14", "FLAG_DOCUMENT_15", "FLAG_DOCUMENT_16", "FLAG_DOCUMENT_17", "FLAG_DOCUMENT_18", "FLAG_DOCUMENT_19", "FLAG_DOCUMENT_20", "FLAG_DOCUMENT_21"]
columns_to_drop.json ADDED
@@ -0,0 +1 @@
 
 
1
+ ["OWN_CAR_AGE", "EXT_SOURCE_1", "APARTMENTS_AVG", "BASEMENTAREA_AVG", "YEARS_BEGINEXPLUATATION_AVG", "YEARS_BUILD_AVG", "COMMONAREA_AVG", "ELEVATORS_AVG", "ENTRANCES_AVG", "FLOORSMAX_AVG", "FLOORSMIN_AVG", "LANDAREA_AVG", "LIVINGAPARTMENTS_AVG", "LIVINGAREA_AVG", "NONLIVINGAPARTMENTS_AVG", "NONLIVINGAREA_AVG", "APARTMENTS_MODE", "BASEMENTAREA_MODE", "YEARS_BEGINEXPLUATATION_MODE", "YEARS_BUILD_MODE", "COMMONAREA_MODE", "ELEVATORS_MODE", "ENTRANCES_MODE", "FLOORSMAX_MODE", "FLOORSMIN_MODE", "LANDAREA_MODE", "LIVINGAPARTMENTS_MODE", "LIVINGAREA_MODE", "NONLIVINGAPARTMENTS_MODE", "NONLIVINGAREA_MODE", "APARTMENTS_MEDI", "BASEMENTAREA_MEDI", "YEARS_BEGINEXPLUATATION_MEDI", "YEARS_BUILD_MEDI", "COMMONAREA_MEDI", "ELEVATORS_MEDI", "ENTRANCES_MEDI", "FLOORSMAX_MEDI", "FLOORSMIN_MEDI", "LANDAREA_MEDI", "LIVINGAPARTMENTS_MEDI", "LIVINGAREA_MEDI", "NONLIVINGAPARTMENTS_MEDI", "NONLIVINGAREA_MEDI", "FONDKAPREMONT_MODE", "HOUSETYPE_MODE", "TOTALAREA_MODE", "WALLSMATERIAL_MODE", "EMERGENCYSTATE_MODE"]
normal_dist.json ADDED
@@ -0,0 +1 @@
 
 
1
+ ["DAYS_BIRTH", "DAYS_ID_PUBLISH", "HOUR_APPR_PROCESS_START", "EXT_SOURCE_2", "EXT_SOURCE_3"]
pipeline.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c42b8e599198b7ef43b83fc8ac2e6308a44c4eddbdb8e021f30a2ac8b6c962c1
3
+ size 421876
skewed_dist.json ADDED
@@ -0,0 +1 @@
 
 
1
+ ["CNT_CHILDREN", "AMT_INCOME_TOTAL", "AMT_CREDIT", "AMT_ANNUITY", "AMT_GOODS_PRICE", "REGION_POPULATION_RELATIVE", "DAYS_EMPLOYED", "DAYS_REGISTRATION", "FLAG_MOBIL", "FLAG_EMP_PHONE", "FLAG_WORK_PHONE", "FLAG_CONT_MOBILE", "FLAG_PHONE", "FLAG_EMAIL", "CNT_FAM_MEMBERS", "REGION_RATING_CLIENT", "REGION_RATING_CLIENT_W_CITY", "REG_REGION_NOT_LIVE_REGION", "REG_REGION_NOT_WORK_REGION", "LIVE_REGION_NOT_WORK_REGION", "REG_CITY_NOT_LIVE_CITY", "REG_CITY_NOT_WORK_CITY", "LIVE_CITY_NOT_WORK_CITY", "OBS_30_CNT_SOCIAL_CIRCLE", "DEF_30_CNT_SOCIAL_CIRCLE", "OBS_60_CNT_SOCIAL_CIRCLE", "DEF_60_CNT_SOCIAL_CIRCLE", "DAYS_LAST_PHONE_CHANGE", "FLAG_DOCUMENT_2", "FLAG_DOCUMENT_3", "FLAG_DOCUMENT_4", "FLAG_DOCUMENT_5", "FLAG_DOCUMENT_6", "FLAG_DOCUMENT_7", "FLAG_DOCUMENT_8", "FLAG_DOCUMENT_9", "FLAG_DOCUMENT_10", "FLAG_DOCUMENT_11", "FLAG_DOCUMENT_12", "FLAG_DOCUMENT_13", "FLAG_DOCUMENT_14", "FLAG_DOCUMENT_15", "FLAG_DOCUMENT_16", "FLAG_DOCUMENT_17", "FLAG_DOCUMENT_18", "FLAG_DOCUMENT_19", "FLAG_DOCUMENT_20", "FLAG_DOCUMENT_21", "AMT_REQ_CREDIT_BUREAU_HOUR", "AMT_REQ_CREDIT_BUREAU_DAY", "AMT_REQ_CREDIT_BUREAU_WEEK", "AMT_REQ_CREDIT_BUREAU_MON", "AMT_REQ_CREDIT_BUREAU_QRT", "AMT_REQ_CREDIT_BUREAU_YEAR"]