Spaces:
Sleeping
Sleeping
import streamlit as st | |
import pandas as pd | |
import numpy as np | |
import pickle | |
import json | |
#Load All files | |
#Load model | |
with open('best_pipe.pkl', 'rb') as file_1: | |
best_pipe = pickle.load(file_1) | |
with open('num_col.txt', 'r') as file_2: | |
num_col = json.load(file_2) | |
with open('cat_col.txt', 'r') as file_3: | |
cat_col = json.load(file_3) | |
def run(): | |
with st.form('Credit_Card_Default'): | |
limit_balance = st.number_input('Limit Balance', value=80000) | |
sex = st.selectbox('Sex (1 = Male, 2 = Female)', (1, 2)) | |
education_level = st.selectbox('Education Level (1 = Graduate School, 2 = University, 3 = High School, 4 = Others)', (1, 2, 3, 4)) | |
marital_status = st.selectbox('Marital Status (1 = married, 2 = single, 3 = others)', (1, 2, 3)) | |
age = st.number_input('Age', value = 25, min_value = 21, max_value = 69) | |
pay_1 = st.number_input('Repayment Status in September, 2005 (-2 = Others, -1 = Pay Duly, 1= Payment Delay for One Month, 2 = Payment Delay for Two Months, ... 8 = Payment Delay for Eight Months)', min_value=-2, max_value=8, value=3) | |
pay_2 = st.number_input('Repayment Status in August, 2005 (-2 = Others, -1 = Pay Duly, 1= Payment Delay for One Month, 2 = Payment Delay for Two Months, ... 8 = Payment Delay for Eight Months)', min_value=-2, max_value=7, value=3) | |
pay_3 = st.number_input('Repayment Status in July, 2005 (-2 = Others, -1 = Pay Duly, 1= Payment Delay for One Month, 2 = Payment Delay for Two Months, ... 8 = Payment Delay for Eight Months)', min_value=-2, max_value=7, value=3) | |
pay_4 = st.number_input('Repayment Status in June, 2005 (-2 = Others, -1 = Pay Duly, 1= Payment Delay for One Month, 2 = Payment Delay for Two Months, ... 8 = Payment Delay for Eight Months)', min_value=-2, max_value=8, value=3) | |
pay_5 = st.number_input('Repayment Status in May, 2005 (-2 = Others, -1 = Pay Duly, 1= Payment Delay for One Month, 2 = Payment Delay for Two Months, ... 8 = Payment Delay for Eight Months)', min_value=-2, max_value=7, value=3) | |
pay_6 = st.number_input('Repayment Status in April, 2005 (-2 = Others, -1 = Pay Duly, 1= Payment Delay for One Month, 2 = Payment Delay for Two Months, ... 8 = Payment Delay for Eight Months)', min_value=-2, max_value=7, value=3) | |
bill_amt_1 = st.number_input('Amount of bill statement in September, 2005', value=5000) | |
bill_amt_2 = st.number_input('Amount of bill statement in August, 2005', value=6000) | |
bill_amt_3 = st.number_input('Amount of bill statement in July, 2005', value=7000) | |
bill_amt_4 = st.number_input('Amount of bill statement in June, 2005', value=8000) | |
bill_amt_5 = st.number_input('Amount of bill statement in May, 2005', value=9000) | |
bill_amt_6 = st.number_input('Amount of bill statement in April, 2005', value=10000) | |
pay_amt_1 = st.number_input('Amount of bill statement in September, 2005', value=11000) | |
pay_amt_2 = st.number_input('Amount of bill statement in August, 2005', value=12000) | |
pay_amt_3 = st.number_input('Amount of bill statement in July, 2005', value=13000) | |
pay_amt_4 = st.number_input('Amount of bill statement in June, 2005', value=14000) | |
pay_amt_5 = st.number_input('Amount of bill statement in May, 2005', value=15000) | |
pay_amt_6 = st.number_input('Amount of bill statement in April, 2005', value=16000) | |
# Bikin Submit Button Form | |
submitted = st.form_submit_button() | |
data_inf = { | |
'limit_balance' : limit_balance, | |
'sex' : sex, | |
'education_level' : education_level, | |
'marital_status' : marital_status, | |
'age' : age, | |
'pay_1' : pay_1, | |
'pay_2' : pay_2, | |
'pay_3' : pay_3, | |
'pay_4' : pay_4, | |
'pay_5' : pay_5, | |
'pay_6' : pay_6, | |
'bill_amt_1' : bill_amt_1, | |
'bill_amt_2' : bill_amt_2, | |
'bill_amt_3' : bill_amt_3, | |
'bill_amt_4' : bill_amt_4, | |
'bill_amt_5' : bill_amt_5, | |
'bill_amt_6' : bill_amt_6, | |
'pay_amt_1' : pay_amt_1, | |
'pay_amt_2' : pay_amt_2, | |
'pay_amt_3' : pay_amt_3, | |
'pay_amt_4' : pay_amt_4, | |
'pay_amt_5' : pay_amt_5, | |
'pay_amt_6' : pay_amt_6 | |
} | |
data_inf = pd.DataFrame([data_inf]) | |
st.dataframe(data_inf) | |
if submitted: | |
# Prediksi Model | |
y_pred_inf = best_pipe.predict(data_inf) | |
if y_pred_inf == "0": | |
st.write('## Rating : Successfully Paid') | |
else: | |
st.write('## Rating : Failed to pay') | |
if __name__ == '__main__': | |
run() | |