File size: 2,160 Bytes
bee6f55
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
54
55
import streamlit as st
import pandas as pd
import joblib

def run():
    st.markdown("<h1 style='text-align: center;'>Welcome to the Credit Default Prediction Model</h1>", unsafe_allow_html=True)
    st.markdown("========================================================================================")
    st.markdown("<h2 style='text-align: left;'>User Input Features</h2>", unsafe_allow_html=True)
    
    def user_input():
        limit_balance = st.number_input('limit balance', min_value=10000, max_value=100000000, step=10000)
        col1,col2= st.columns(2)
        pay_1 = col1.slider('pay in september', min_value=-12, max_value=12, format="paid %d month")
        pay_2 = col2.slider('pay in august', min_value=-12, max_value=12, format="paid %d month")
        pay_3 = col1.slider('pay in july', min_value=-12, max_value=12, format="paid %d month")
        pay_4 = col2.slider('pay in june', min_value=-12, max_value=12, format="paid %d month")
        pay_5 = col1.slider('pay in may', min_value=-12, max_value=12, format="paid %d month")
        pay_6 = col2.slider('pay in april', min_value=-12, max_value=12, format="paid %d month")

        data = {
            'limit_balance': limit_balance,
            'pay_0': pay_1,
            'pay_2': pay_2,
            'pay_3': pay_3,
            'pay_4': pay_4,
            'pay_5': pay_5,
            'pay_6': pay_6
        }
        
        features = pd.DataFrame(data, index=[0])        
        return features


    input = user_input()

    st.markdown("<h2 style='text-align: left;'>User Input Result</h2>", unsafe_allow_html=True)
    
    st.table(input)

    load_model = joblib.load("my_model.pkl")

    if st.button("Predict", help='Click me!' ):
        prediction = load_model.predict(input)

        if prediction == 1:
            prediction = 'Defaulted Payment'
        else:
            prediction = 'Not Defaulted'
  
        st.markdown("<h4 style='text-align: center;'>Based on user input, the default model is predicted:</h4>", unsafe_allow_html=True)
        st.markdown(f"<h1 style='text-align: center;'>{prediction}</h1>", unsafe_allow_html=True)