File size: 2,635 Bytes
56d9941
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b213156
56d9941
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import streamlit as st
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt 
import plotly.express as px

st.set_page_config(
    page_title = 'HEART FAILURE - EDA',
    layout = 'wide',
    initial_sidebar_state = 'expanded'
)

def run():
    
    # Membuat fila
    st.title('Heart Failure Prediction')

    # Membaut subheader
    st.subheader('EDA untuk Analisis Dataset Heart Failure')

    # Menambahkan deskripsi
    st.write('**Gagal jantung** adalah kondisi serius yang dapat mempengaruhi kualitas hidup seseorang dan dapat berujung pada risiko kematian. Namun, dengan kemajuan dalam ilmu medis dan teknologi, telah ada upaya untuk memprediksi apakah seseorang dengan gagal jantung akan menghadapi risiko kematian atau tidak. Penelitian-penelitian ini bertujuan untuk memberikan wawasan yang lebih baik tentang prognosis individu dan membantu dalam pengambilan keputusan pengobatan yang lebih tepat.')

    # Membuat garis lurus
    st.markdown('---')

    # Magic Syntax
    '''
    Pada page kali ini, penulis akan melakukan eksplorasi sederhana.
    Dataset yang digunakan adalah dataset heart-failure.
    Dataset ini berasal dari BigQuery Public Data
    '''
    # Show DataFrame
    data = pd.read_csv('https://raw.githubusercontent.com/hilalrd/latihan_b19/master/h8dsft_P1G3_Hilal_Amirudin.csv')
    st.dataframe(data)

    # Membuat Barplot
    st.write('#### Plot Ejection fraction')
    fig = plt.figure(figsize=(15, 5))
    sns.countplot(x='ejection_fraction', data=data)
    st.pyplot(fig)

    # Membuat Histogram
    st.write('#### Histogram of Serum Creatine')
    fig = plt.figure(figsize=(15, 5))
    sns.histplot(data['serum_creatinine'], bins=30, kde=True)
    st.pyplot(fig)

    # Membuat Histogram
    st.write('#### Histogram of Serum Sodium')
    fig = plt.figure(figsize=(15, 5))
    sns.histplot(data['serum_sodium'], bins=30, kde=True)
    st.pyplot(fig)

    # Membuat Histogram
    st.write('#### Histogram of age')
    fig = plt.figure(figsize=(15, 5))
    sns.histplot(data['age'], bins=30, kde=True)
    st.pyplot(fig)

    # Membuat Histogram berdasarkan Input user
    st.write('#### Histogram berdasarkan input user')
    pilihan = st.selectbox('Pilih column : ', ('age', 'creatinine_phosphokinase', 'ejection_fraction', 'platelets', 'serum_sodium', 'time'))
    fig = plt.figure(figsize=(15, 5))
    sns.histplot(data[pilihan], bins=30, kde=True)
    st.pyplot(fig)

    # Membuat Plotly plot
    st.write('#### Plotly Plot - Smoking dengan Time')
    fig = px.scatter(data, x='ejection_fraction', y='time')
    st.plotly_chart(fig)

if __name__== '__main__':
    run()