File size: 2,278 Bytes
6cc495b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
import streamlit as st
import pandas as pd
import joblib

st.header('FTDS Model Deployment')

st.write("""
Created by Maria Melisa Gunawan

Use the sidebar to select input features.
""")

@st.cache
def fetch_data():
    df = pd.read_csv('P1G5_Set_1_Melisa.csv')
    return df

df = fetch_data()
st.write(df)

st.sidebar.header('User Input Features')

# Fungsi untuk mengambil input dari pengguna
def user_input():
    pay_0 = st.sidebar.number_input('Payment Status in September (pay_0)', value=80000)
    pay_2 = st.sidebar.number_input('Payment Status in August (pay_2)', value=20000)
    pay_3 = st.sidebar.number_input('Payment Status in July (pay_3)', value=3000)
    pay_4 = st.sidebar.number_input('Payment Status in June (pay_4)', value=45000)
    pay_5 = st.sidebar.number_input('Payment Status in May (pay_5)', value=500)
    pay_6 = st.sidebar.number_input('Payment Status in April (pay_6)', value=2500)
    limit_balance = st.sidebar.number_input('Credit Limit (limit_balance)', value=90000)
    default_payment_next_month = st.sidebar.selectbox('Default Payment Next Month', ['No', 'Yes'])

    # Mapping 'No' to 0 and 'Yes' to 1
    default_payment_next_month = 1 if default_payment_next_month == 'Yes' else 0

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

# Memuat model yang telah di-train
load_model = joblib.load("credit_card_default_model.pkl")

# Menjalankan aplikasi Streamlit
def main():
    st.title('Default Payment Next Month')

    # Mengambil input dari pengguna
    input_features = user_input()

    # Menampilkan input pengguna
    st.subheader('User Input')
    st.write(input_features)

    # Melakukan prediksi menggunakan model
    prediction = load_model.predict(input_features)

    if prediction == 1:
        prediction = 'Default'
    else:
        prediction = 'Not Default'

    # Menampilkan hasil prediksi
    st.subheader('Prediction')
    st.write(f'Based on user input, the model predicts: {prediction}')

if __name__ == '__main__':
    main()