File size: 1,698 Bytes
79eb720
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import pickle
import json
import pandas as pd 
import numpy as np
import streamlit as st

# Load All Files
with open('best_param.pkl', 'rb') as file_1:
 best_params = pickle.load(file_1)

with open('preprocessing_pipeline.pkl', 'rb') as file_2:
 preprocessing_pipeline= pickle.load(file_2)

def run ():
  with st.form(key ='Credit FORM'): #Nulis nama sendiri menggunakan name= st.text_input('')
    education_level= st.radio('Select Education_level', options=['1','2','3','4','5','6'])
    sex = st.radio(
    'Select gender',
    options=['male','female'])
    limit_balance= st.text_input('limit_balance', value= 'None')
    st.markdown('---')
    pay_0= st.slider('pay_0', min_value=-2,max_value=2,)
    pay_2= st.slider('pay_2', min_value=-2,max_value=2,)
    pay_3= st.slider('pay_3', min_value=-2,max_value=2,)
    pay_4= st.slider('pay_4', min_value=-2,max_value=2,)
    pay_5= st.slider('pay_5', min_value=-2,max_value=2,)
    pay_6= st.slider('pay_6', min_value=-2,max_value=2,)
     
    submitted = st.form_submit_button('Predict')

  # Create New Data
  df_inf={
      'limit_balance': limit_balance,
       'sex': sex, 
       'education_level': education_level , 
       'pay_0': pay_0 , 
       'pay_2': pay_2, 
       'pay_3': pay_3,
       'pay_4': pay_4, 
       'pay_5': pay_5, 
       'pay_6': pay_6,
        }
  df_inf = pd.DataFrame([df_inf])

  if submitted: 
    df_inf_best_params = df_inf[best_params]
    df_inf_classifier= df_inf[preprocessing_pipeline]
    df_inf_final = np.concatenate([preprocessing_pipeline], axis=1)
    y_pred_inf = best_params.predict(df_inf_final) 
    st.write(f'# Rating {best_params}:', int(y_pred_inf))

if best_params == '__main__':
  run()