Spaces:
Configuration error
Configuration error
| 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. | |
| """) | |
| 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() | |