import pandas as pd import seaborn as sns import matplotlib.pyplot as plt import streamlit as st def run(): st.title('Eksplorasi Data pada Dataset Credit Card') data = pd.read_csv("P1G5_Set_1_naufal.csv") st.dataframe(data) # Plot pie chart sex distribution. st.write('### Sex Distribution') sex_counts = data['sex'].value_counts() fig, ax = plt.subplots() ax.pie(sex_counts, labels=sex_counts.index, autopct='%1.1f%%', startangle=90) ax.axis('equal') st.pyplot(fig) st.write('Penjelasan angka `1` pada dataset adalah Laki-laki dan `2` adalah Perempuan. Sehingga hasil dari data visualisasi di atas menunjukkan bahwa pada dataset ini jumlah Perempuan (61%) lebih banyak daripada Laki-laki (39%).') # Plot bar chart age distribution. st.write('### Age Distribution') fig = plt.figure(figsize=(15, 6)) sns.countplot(x='age', data=data) st.pyplot(fig) st.write('Terlihat dari hasil visualisasi data, umur pada dataset memiliki variasi yang beragam dengan umur paling muda yaitu 21 tahun dan umur paling senior yaitu 69 tahun.') # Histogram of limit balance. st.write('### Histogram of Limit Balance') fig = plt.figure(figsize=(10, 6)) sns.histplot(data['limit_balance'], kde=True, bins=30) st.pyplot(fig) st.write('Sekilas terlihat dari hasil visualisasi data, kolom `limit_balance` memiliki distribusi positively skewed dan memiliki rentang variasi data yang cukup luas (10,000 hingga 800,000 ).') # Heatmap st.write('### Histogram of Limit Balance') fig = plt.figure(figsize=(15,8)) sns.heatmap(data.corr(method='spearman'), annot=True, cmap='coolwarm', fmt=".2f") st.pyplot(fig) st.write('Terlihat bahwa semua kolom memiliki korelasi terhadap target klasifikasi `default_payment_next_month`.') if __name__ == '__main__': run()