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()