|
import streamlit as st
|
|
import pandas as pd
|
|
import pickle
|
|
|
|
st.write('Model untuk prediksi gagal bayar atau tidak gagal bayar. \
|
|
\n0: Sukses bayar\
|
|
\n1: Telat sebulan\
|
|
\n2: Telat 2 bulan\
|
|
\n3: Telat 3 bulan\
|
|
\n4: Telah lebih dari 3 bulan.')
|
|
|
|
def run():
|
|
|
|
with open('model.pkl', 'rb') as file:
|
|
full_process = pickle.load(file)
|
|
|
|
pay_1 = st.selectbox(label='choose delay payment in a month', options=[0.0, 1.0, 2.0, 3.0, 4.0], key='pay_1')
|
|
pay_2 = st.selectbox(label='choose delay payment in a month', options=[0.0, 1.0, 2.0, 3.0, 4.0], key='pay_2')
|
|
pay_3 = st.selectbox(label='choose delay payment in a month', options=[0.0, 2.0, 3.0, 4.0], key='pay_3')
|
|
pay_4 = st.selectbox(label='choose delay payment in a month', options=[0.0, 2.0, 3.0, 4.0], key='pay_4')
|
|
pay_5 = st.selectbox(label='choose delay payment in a month', options=[0.0, 2.0, 3.0, 4.0], key='pay_5')
|
|
pay_6 = st.selectbox(label='choose delay payment in a month', options=[0.0, 2.0, 3.0, 4.0], key='pay_6')
|
|
limit_balance = st.number_input(label='Limit Balance', key='limit_balance')
|
|
pay_amt_1 = st.number_input(label='Pay Amount 1', key='pay_amt_1')
|
|
pay_amt_2 = st.number_input(label='Pay Amount 2', key='pay_amt_2')
|
|
pay_amt_3 = st.number_input(label='Pay Amount 3', key='pay_amt_3')
|
|
pay_amt_4 = st.number_input(label='Pay Amount 4', key='pay_amt_4')
|
|
pay_amt_6 = st.number_input(label='Pay Amount 6', key='pay_amt_6')
|
|
|
|
st.write('In the following is the result of the data you have input:')
|
|
|
|
data_inf = pd.DataFrame({
|
|
'pay_1': [pay_1],
|
|
'pay_2': [pay_2],
|
|
'pay_3': [pay_3],
|
|
'pay_4': [pay_4],
|
|
'pay_5': [pay_5],
|
|
'pay_6': [pay_6],
|
|
'Limit Balance': [limit_balance],
|
|
'pay amount 1': [pay_amt_1],
|
|
'pay amount 2': [pay_amt_2],
|
|
'pay amount 3': [pay_amt_3],
|
|
'pay amount 4': [pay_amt_4],
|
|
'pay amount 6': [pay_amt_6]
|
|
})
|
|
|
|
st.table(data_inf)
|
|
|
|
if st.button(label='Predict'):
|
|
|
|
yPred_inf = full_process.predict(data_inf)
|
|
st.metric(label="Here is a prediction of default payment next month:", value=y_pred_inf[0])
|
|
|
|
|
|
if yPred_inf[0] == 0:
|
|
st.write('Not Default')
|
|
|
|
else:
|
|
st.write('Default') |