darly9991's picture
Upload 11 files
ae32b31 verified
import streamlit as st
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import plotly.express as px
from PIL import Image
def run():
# Membuat judul
st.title('Credit Card Default')
# Membuat Sub Header
st.header('EDA untuk Analisa Dataset Credit Card Default', divider='gray')
# Menambahkan Gambar
image = Image.open('image.png')
st.image(image, caption = 'Credit Card Default', channels='RGB')
# Menambahkan Divider
st.divider()
# Menampilkan Dataframe
st.header('Dataframe', divider='gray')
data = pd.read_csv('dataset.csv')
st.dataframe(data)
st.divider()
# Membuat Bar Plot 1
st.write('#### Hubungan Jenis Kelamin dengan Gagal Bayar')
fig = plt.figure(figsize=(12,8))
sns.barplot(x='sex', y='default_payment_next_month', data=data)
# Menambah Title dan Label
plt.title('Hubungan Jenis Kelamin dengan Gagal Bayar')
plt.xlabel('Jenis Kelamin')
plt.ylabel('Gagal Bayar')
# Menampilkan Plot
plt.tight_layout()
st.pyplot(fig)
# Keterangan
plot1 = '''Keterangan :
1 = Pria
2 = Wanita'''
st.markdown(plot1)
st.divider()
# Membuat Bar Plot 2
st.write('#### Hubungan Tingkat Pendidikan dengan Gagal Bayar')
fig = plt.figure(figsize=(12,8))
sns.barplot(x='education_level', y='default_payment_next_month', data=data)
# Menambah Title dan Label
plt.title('Hubungan Status Pernikahan dengan Gagal Bayar')
plt.xlabel('Status Pernikahan')
plt.ylabel('Gagal Bayar')
# Menampilkan Plot
plt.tight_layout()
st.pyplot(fig)
# Keterangan
plot2 = '''Keterangan :
1 = Graduate School, 2 = University, 3 = High School, 4 = Tidak Menjawab'''
st.markdown(plot2)
st.divider()
# Membuat Bar Plot 3
st.write('#### Hubungan Status Pernikahan dengan Gagal Bayar')
fig = plt.figure(figsize=(12,8))
sns.barplot(x='marital_status', y='default_payment_next_month', data=data)
# Menambah Title dan Label
plt.title('Hubungan Status Pernikahan dengan Gagal Bayar')
plt.xlabel('Status Pernikahan')
plt.ylabel('Gagal Bayar')
# Menampilkan Plot
plt.tight_layout()
st.pyplot(fig)
# Keterangan
plot3 = '''Keterangan :
1 = Menikah, 2 = Belum Menikah, 3 = Tidak Menjawab'''
st.markdown(plot3)
st.divider()
# Membuat Bar Plot 4
st.write('#### Status Pembayaran')
fig = plt.figure(figsize=(12,8))
sns.countplot(x='default_payment_next_month', data=data)
# Menambahkan label Sumbu dan judul
plt.xlabel('Status Pembayaran')
plt.ylabel('Count')
plt.title('Kemungkinan Nasabah Mengalami Kegagalan Pembayaran')
# Menampilkan Plot
plt.tight_layout()
st.pyplot(fig)
# Keterangan
plot4 = '''Keterangan :
0 = Membayar Tagihan, 1 = Gagal Membayar Tagihan'''
st.markdown(plot4)
st.divider()
if __name__ == '__main__':
run()