Spaces:
Runtime error
Runtime error
submission
Browse files- eda.py +85 -0
- h8dsft_P1G3_fadya_ulya.csv +300 -0
- heart.jpg +0 -0
- list_cat_cols.txt +1 -0
- list_num_cols.txt +1 -0
- main.py +10 -0
- model_rnd.pkl +3 -0
- model_scaler.pkl +3 -0
- prediction.py +79 -0
- requirements.txt +9 -0
eda.py
ADDED
@@ -0,0 +1,85 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
import pandas as pd
|
3 |
+
import seaborn as sns
|
4 |
+
import matplotlib.pyplot as plt
|
5 |
+
import plotly.express as px
|
6 |
+
from PIL import Image
|
7 |
+
|
8 |
+
# Melebarkan visualisasi untuk memaksmalkan browser
|
9 |
+
st.set_page_config(
|
10 |
+
page_title='Heart Failure',
|
11 |
+
layout='wide',
|
12 |
+
initial_sidebar_state='expanded'
|
13 |
+
)
|
14 |
+
|
15 |
+
def run():
|
16 |
+
# Membuat title
|
17 |
+
st.title('Patients with Heart Failure-Death Prediction')
|
18 |
+
|
19 |
+
# Menambahkan Gambar
|
20 |
+
image = Image.open('heart.jpg')
|
21 |
+
st.image(image, caption='Heart Failure')
|
22 |
+
|
23 |
+
# Menambahkan Deskripsi
|
24 |
+
st.write('## Definition')
|
25 |
+
st.write('Heart failure is progressive condition in which the heart muscle is unable to pump enough blood to meet the body needs for blood and oxygen.'
|
26 |
+
'Basically, the heart cant keep up with its workload.'
|
27 |
+
'Heart failure can caused by diabetes, smoking, and high of blood pressure.'
|
28 |
+
'Heart failure can cause death in chronic and acute conditions.')
|
29 |
+
|
30 |
+
st.write('## Heart and kidney')
|
31 |
+
st.write('The interaction between the heart and kidney can often become deranged in heart failure.'
|
32 |
+
'Not only do heart failure and chronic kidney disease (CKD) often co-exist and share common risk factors in their development, both heart and kidney disease can worsen each others prognosis.'
|
33 |
+
'The preload of the heart directly depends on the sodium and water homeostasis regulated by the kidney.'
|
34 |
+
'The kidney depends on adequate contraction and relaxation of the heart to have a sufficient trans-renal pressure gradient to maintain renal blood flow (RBF).'
|
35 |
+
'So, heart failure have a correlation with sodium level in blood and creatinin (CPK enzyme).')
|
36 |
+
|
37 |
+
# Membuat Garis Lurus
|
38 |
+
st.markdown('---')
|
39 |
+
|
40 |
+
# Membuat Sub Headrer
|
41 |
+
st.subheader('EDA for Analyze Patients')
|
42 |
+
|
43 |
+
# Magic Syntax
|
44 |
+
'''
|
45 |
+
On this page, the author will do a simple exploration.
|
46 |
+
The dataset used is the Heart Failure dataset.
|
47 |
+
This dataset comes from GCP in the Hacktiv8 project.
|
48 |
+
'''
|
49 |
+
|
50 |
+
# Show DataFrame
|
51 |
+
df1 = pd.read_csv('h8dsft_P1G3_fadya_ulya.csv')
|
52 |
+
st.dataframe(df1)
|
53 |
+
|
54 |
+
# Membuat Barplot
|
55 |
+
st.write('#### Plot Death Event')
|
56 |
+
fig = plt.figure(figsize=(15,8))
|
57 |
+
sns.countplot(x='DEATH_EVENT', data=df1, palette="PuRd")
|
58 |
+
st.pyplot(fig)
|
59 |
+
|
60 |
+
# Membuat Barplot Diabetes, Smoking, dan Darah Tinggi
|
61 |
+
st.write('#### Diabetes')
|
62 |
+
plt.figure(figsize=(15,8))
|
63 |
+
sns.countplot(x='diabetes', data=df1, palette="Blues")
|
64 |
+
st.pyplot(fig)
|
65 |
+
|
66 |
+
st.write('#### High Blood Pressure')
|
67 |
+
plt.figure(figsize=(15,8))
|
68 |
+
sns.countplot(x='high_blood_pressure', data=df1, palette="Blues")
|
69 |
+
st.pyplot(fig)
|
70 |
+
|
71 |
+
st.write('#### Smoking')
|
72 |
+
plt.figure(figsize=(15,8))
|
73 |
+
sns.countplot(x='smoking', data=df1, palette="Blues")
|
74 |
+
st.pyplot(fig)
|
75 |
+
|
76 |
+
# Membuat Histogram Berdasarkan Input User
|
77 |
+
st.write('#### Histogram Based On User Input')
|
78 |
+
pilihan = st.selectbox('Choose Column : ', ('age', 'creatinine_phosphokinase', 'ejection_fraction',
|
79 |
+
'platelets', 'serum_sodium', 'serum_creatinine', 'time'))
|
80 |
+
fig = plt.figure(figsize=(15,5))
|
81 |
+
sns.histplot(df1[pilihan], bins=30, kde=True)
|
82 |
+
st.pyplot(fig)
|
83 |
+
|
84 |
+
if __name__ == '__main__':
|
85 |
+
run()
|
h8dsft_P1G3_fadya_ulya.csv
ADDED
@@ -0,0 +1,300 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
age,anaemia,creatinine_phosphokinase,diabetes,ejection_fraction,high_blood_pressure,platelets,serum_creatinine,serum_sodium,sex,smoking,time,DEATH_EVENT
|
2 |
+
42.0,1,250,1,15,0,213000.0,1.3,136,0,0,65,1
|
3 |
+
46.0,0,168,1,17,1,271000.0,2.1,124,0,0,100,1
|
4 |
+
65.0,1,160,1,20,0,327000.0,2.7,116,0,0,8,1
|
5 |
+
53.0,1,91,0,20,1,418000.0,1.4,139,0,0,43,1
|
6 |
+
50.0,1,582,1,20,1,279000.0,1.0,134,0,0,186,0
|
7 |
+
70.0,1,125,0,25,1,237000.0,1.0,140,0,0,15,1
|
8 |
+
65.0,1,52,0,25,1,276000.0,1.3,137,0,0,16,0
|
9 |
+
70.0,0,161,0,25,0,244000.0,1.2,142,0,0,66,1
|
10 |
+
60.0,1,76,1,25,0,196000.0,2.5,132,0,0,77,1
|
11 |
+
59.0,1,280,1,25,1,302000.0,1.0,141,0,0,78,1
|
12 |
+
60.0,1,156,1,25,1,318000.0,1.2,137,0,0,85,0
|
13 |
+
60.0,0,1896,1,25,0,365000.0,2.1,144,0,0,172,1
|
14 |
+
65.0,0,56,0,25,0,237000.0,5.0,130,0,0,207,0
|
15 |
+
72.0,0,211,0,25,0,274000.0,1.2,134,0,0,207,0
|
16 |
+
49.0,1,80,0,30,1,427000.0,1.0,138,0,0,12,0
|
17 |
+
65.0,1,128,1,30,1,297000.0,1.6,136,0,0,20,1
|
18 |
+
75.0,0,582,1,30,1,263358.03,1.83,134,0,0,23,1
|
19 |
+
50.0,1,159,1,30,0,302000.0,1.2,138,0,0,29,0
|
20 |
+
50.0,0,124,1,30,1,153000.0,1.2,136,0,1,32,1
|
21 |
+
57.0,1,129,0,30,0,395000.0,1.0,140,0,0,42,1
|
22 |
+
72.0,1,328,0,30,1,621000.0,1.7,138,0,1,88,1
|
23 |
+
60.0,1,582,0,30,1,127000.0,0.9,145,0,0,95,0
|
24 |
+
50.0,0,482,1,30,0,329000.0,0.9,132,0,0,109,0
|
25 |
+
65.0,0,167,0,30,0,259000.0,0.8,138,0,0,186,0
|
26 |
+
48.0,1,131,1,30,1,244000.0,1.6,130,0,0,193,1
|
27 |
+
60.0,0,166,0,30,0,62000.0,1.7,127,0,0,207,1
|
28 |
+
50.0,0,2522,0,30,1,404000.0,0.5,139,0,0,214,0
|
29 |
+
50.0,1,1051,1,30,0,232000.0,0.7,136,0,0,246,0
|
30 |
+
50.0,1,249,1,35,1,319000.0,1.0,128,0,0,28,1
|
31 |
+
62.0,0,281,1,35,0,221000.0,1.0,136,0,0,108,0
|
32 |
+
46.0,1,291,0,35,0,348000.0,0.9,140,0,0,109,0
|
33 |
+
65.0,1,335,0,35,1,235000.0,0.8,136,0,0,120,0
|
34 |
+
52.0,1,58,0,35,0,277000.0,1.4,136,0,0,120,0
|
35 |
+
50.0,1,2334,1,35,0,75000.0,0.9,142,0,0,126,1
|
36 |
+
70.0,0,835,0,35,1,305000.0,0.8,133,0,0,145,0
|
37 |
+
49.0,0,972,1,35,1,268000.0,0.8,130,0,0,187,0
|
38 |
+
55.0,0,582,1,35,1,371000.0,0.7,140,0,0,197,0
|
39 |
+
70.0,0,81,1,35,1,533000.0,1.3,139,0,0,212,0
|
40 |
+
55.0,0,572,1,35,0,231000.0,0.8,143,0,0,215,0
|
41 |
+
70.0,0,88,1,35,1,236000.0,1.2,132,0,0,215,0
|
42 |
+
70.0,0,618,0,35,0,327000.0,1.1,142,0,0,245,0
|
43 |
+
65.0,0,892,1,35,0,263358.03,1.1,142,0,0,256,0
|
44 |
+
60.0,0,235,1,38,0,329000.0,3.0,142,0,0,30,1
|
45 |
+
60.0,1,260,1,38,0,255000.0,2.2,132,0,1,45,1
|
46 |
+
58.0,0,144,1,38,1,327000.0,0.7,142,0,0,83,0
|
47 |
+
86.0,0,582,0,38,0,263358.03,1.83,134,0,0,95,1
|
48 |
+
66.0,1,68,1,38,1,162000.0,1.0,136,0,0,95,0
|
49 |
+
60.0,0,96,1,38,0,228000.0,0.75,140,0,0,95,0
|
50 |
+
80.0,0,776,1,38,1,192000.0,1.3,135,0,0,130,1
|
51 |
+
45.0,0,582,1,38,1,263358.03,1.18,137,0,0,185,0
|
52 |
+
65.0,0,326,0,38,0,294000.0,1.7,139,0,0,220,0
|
53 |
+
45.0,0,582,1,38,0,302000.0,0.9,140,0,0,244,0
|
54 |
+
67.0,0,213,0,38,0,215000.0,1.2,133,0,0,245,0
|
55 |
+
45.0,0,582,0,38,1,422000.0,0.8,137,0,0,245,0
|
56 |
+
55.0,0,84,1,38,0,451000.0,1.3,136,0,0,246,0
|
57 |
+
90.0,1,337,0,38,0,390000.0,0.9,144,0,0,256,0
|
58 |
+
55.0,0,1820,0,38,0,270000.0,1.2,139,0,0,271,0
|
59 |
+
95.0,1,112,0,40,1,196000.0,1.0,138,0,0,24,1
|
60 |
+
50.0,0,318,0,40,1,216000.0,2.3,131,0,0,60,1
|
61 |
+
70.0,0,69,0,40,0,293000.0,1.7,136,0,0,75,0
|
62 |
+
63.0,1,61,1,40,0,221000.0,1.1,140,0,0,86,0
|
63 |
+
58.0,1,400,0,40,0,164000.0,1.0,139,0,0,91,0
|
64 |
+
46.0,0,719,0,40,1,263358.03,1.18,137,0,0,107,0
|
65 |
+
61.0,1,84,0,40,1,229000.0,0.9,141,0,0,110,0
|
66 |
+
65.0,0,582,1,40,0,270000.0,1.0,138,0,0,140,0
|
67 |
+
60.667,1,151,1,40,1,201000.0,1.0,136,0,0,172,0
|
68 |
+
40.0,1,101,0,40,0,226000.0,0.8,141,0,0,187,0
|
69 |
+
60.0,1,2281,1,40,0,283000.0,1.0,141,0,0,187,0
|
70 |
+
65.0,1,720,1,40,0,257000.0,1.0,136,0,0,210,0
|
71 |
+
73.0,1,1185,0,40,1,220000.0,0.9,141,0,0,213,0
|
72 |
+
53.0,0,207,1,40,0,223000.0,1.2,130,0,0,214,0
|
73 |
+
62.0,1,655,0,40,0,283000.0,0.7,133,0,0,233,0
|
74 |
+
51.0,0,582,1,40,0,221000.0,0.9,134,0,0,244,0
|
75 |
+
55.0,0,336,0,45,1,324000.0,0.9,140,0,0,74,0
|
76 |
+
72.0,0,233,0,45,1,235000.0,2.5,135,0,0,115,1
|
77 |
+
40.0,0,244,0,45,1,275000.0,0.9,140,0,0,174,0
|
78 |
+
50.0,1,167,1,45,0,362000.0,1.0,136,0,0,187,0
|
79 |
+
82.0,1,855,1,50,1,321000.0,1.0,145,0,0,30,1
|
80 |
+
70.0,1,69,1,50,1,351000.0,1.0,134,0,0,44,1
|
81 |
+
60.0,0,53,0,50,1,286000.0,2.3,143,0,0,87,0
|
82 |
+
43.0,1,358,0,50,0,237000.0,1.3,135,0,0,97,0
|
83 |
+
49.0,1,69,0,50,0,132000.0,1.0,140,0,0,147,0
|
84 |
+
50.0,0,582,0,50,0,153000.0,0.6,134,0,0,172,1
|
85 |
+
70.0,0,1202,0,50,1,358000.0,0.9,141,0,0,196,0
|
86 |
+
48.0,1,582,1,55,0,87000.0,1.9,121,0,0,15,1
|
87 |
+
45.0,0,582,1,55,0,543000.0,1.0,132,0,0,250,0
|
88 |
+
45.0,0,615,1,55,0,222000.0,0.8,141,0,0,257,0
|
89 |
+
60.0,1,588,1,60,0,194000.0,1.1,142,0,0,33,1
|
90 |
+
70.0,0,92,0,60,1,317000.0,0.8,140,0,1,74,0
|
91 |
+
42.0,0,582,0,60,0,263358.03,1.18,137,0,0,82,0
|
92 |
+
70.0,1,59,0,60,0,255000.0,1.1,136,0,0,85,0
|
93 |
+
70.0,1,143,0,60,0,351000.0,1.3,137,0,0,90,1
|
94 |
+
60.0,1,96,1,60,1,271000.0,0.7,136,0,0,94,0
|
95 |
+
85.0,1,102,0,60,0,507000.0,3.2,138,0,0,94,0
|
96 |
+
65.0,1,113,1,60,1,203000.0,0.9,140,0,0,94,0
|
97 |
+
58.0,1,200,1,60,0,300000.0,0.8,137,0,0,104,0
|
98 |
+
65.0,1,59,1,60,0,172000.0,0.9,137,0,0,107,0
|
99 |
+
64.0,1,62,0,60,0,309000.0,1.5,135,0,0,174,0
|
100 |
+
75.0,0,675,1,60,0,265000.0,1.4,125,0,0,205,0
|
101 |
+
68.0,1,157,1,60,0,208000.0,1.0,140,0,0,237,0
|
102 |
+
45.0,0,2060,1,60,0,742000.0,0.8,138,0,0,278,0
|
103 |
+
60.0,0,3964,1,62,0,263358.03,6.8,146,0,0,43,1
|
104 |
+
65.0,0,157,0,65,0,263358.03,1.5,138,0,0,10,1
|
105 |
+
54.0,1,427,0,70,1,151000.0,9.0,137,0,0,196,1
|
106 |
+
45.0,0,582,0,80,0,263358.03,1.18,137,0,0,63,0
|
107 |
+
45.0,0,582,0,14,0,166000.0,0.8,127,1,0,14,1
|
108 |
+
75.0,1,246,0,15,0,127000.0,1.2,137,1,0,10,1
|
109 |
+
70.0,0,212,1,17,1,389000.0,1.0,136,1,1,188,0
|
110 |
+
75.0,0,582,0,20,1,265000.0,1.9,130,1,0,4,1
|
111 |
+
65.0,0,146,0,20,0,162000.0,1.3,129,1,1,7,1
|
112 |
+
50.0,1,111,0,20,0,210000.0,1.9,137,1,0,7,1
|
113 |
+
70.0,0,582,0,20,1,263358.03,1.83,134,1,1,31,1
|
114 |
+
80.0,1,553,0,20,1,140000.0,4.4,133,1,0,41,1
|
115 |
+
49.0,0,789,0,20,1,319000.0,1.1,136,1,1,55,1
|
116 |
+
72.0,0,364,1,20,1,254000.0,1.3,136,1,1,59,1
|
117 |
+
60.0,0,68,0,20,0,119000.0,2.9,127,1,1,64,1
|
118 |
+
69.0,0,582,0,20,0,266000.0,1.2,134,1,1,73,1
|
119 |
+
60.0,1,47,0,20,0,204000.0,0.7,139,1,1,73,1
|
120 |
+
59.0,0,66,1,20,0,70000.0,2.4,134,1,0,135,1
|
121 |
+
50.0,1,115,0,20,0,189000.0,0.8,139,1,0,146,0
|
122 |
+
45.0,0,582,0,20,1,126000.0,1.6,135,1,0,180,1
|
123 |
+
73.0,0,582,0,20,0,263358.03,1.83,134,1,0,198,1
|
124 |
+
55.0,0,1199,0,20,0,263358.03,1.83,134,1,1,241,1
|
125 |
+
62.0,0,231,0,25,1,253000.0,0.9,140,1,1,10,1
|
126 |
+
51.0,0,1380,0,25,1,271000.0,0.9,130,1,0,38,1
|
127 |
+
68.0,1,577,0,25,1,166000.0,1.0,138,1,0,43,1
|
128 |
+
45.0,0,7702,1,25,1,390000.0,1.0,139,1,0,60,1
|
129 |
+
72.0,1,110,0,25,0,274000.0,1.0,140,1,1,65,1
|
130 |
+
65.0,0,113,1,25,0,497000.0,1.83,135,1,0,67,1
|
131 |
+
57.0,1,115,0,25,1,181000.0,1.1,144,1,0,79,0
|
132 |
+
60.0,1,154,0,25,0,210000.0,1.7,135,1,0,82,1
|
133 |
+
63.0,1,514,1,25,1,254000.0,1.3,134,1,0,83,0
|
134 |
+
65.0,1,305,0,25,0,298000.0,1.1,141,1,0,87,0
|
135 |
+
80.0,0,898,0,25,0,149000.0,1.1,144,1,1,87,0
|
136 |
+
50.0,0,369,1,25,0,252000.0,1.6,136,1,0,90,0
|
137 |
+
68.0,1,646,0,25,0,305000.0,2.1,130,1,0,108,0
|
138 |
+
72.0,1,943,0,25,1,338000.0,1.7,139,1,1,111,1
|
139 |
+
60.0,1,231,1,25,0,194000.0,1.7,140,1,0,120,0
|
140 |
+
50.0,0,250,0,25,0,262000.0,1.0,136,1,1,120,0
|
141 |
+
59.0,1,176,1,25,0,221000.0,1.0,136,1,1,150,1
|
142 |
+
65.0,0,395,1,25,0,265000.0,1.2,136,1,1,154,1
|
143 |
+
58.0,1,145,0,25,0,219000.0,1.2,137,1,1,170,1
|
144 |
+
60.0,0,59,0,25,1,212000.0,3.5,136,1,1,187,0
|
145 |
+
47.0,0,582,0,25,0,130000.0,0.8,134,1,0,201,0
|
146 |
+
58.0,0,582,1,25,0,504000.0,1.0,138,1,0,205,0
|
147 |
+
58.0,1,57,0,25,0,189000.0,1.3,132,1,1,205,0
|
148 |
+
55.0,0,2017,0,25,0,314000.0,1.1,138,1,0,214,1
|
149 |
+
64.0,0,143,0,25,0,246000.0,2.4,135,1,0,214,0
|
150 |
+
45.0,1,66,1,25,0,233000.0,0.8,135,1,0,230,0
|
151 |
+
65.0,1,258,1,25,0,198000.0,1.4,129,1,0,235,1
|
152 |
+
45.0,1,981,0,30,0,136000.0,1.1,137,1,0,11,1
|
153 |
+
82.0,0,70,1,30,0,200000.0,1.2,132,1,1,26,1
|
154 |
+
60.0,0,2656,1,30,0,305000.0,2.3,137,1,0,30,0
|
155 |
+
95.0,1,371,0,30,0,461000.0,2.0,132,1,0,50,1
|
156 |
+
42.0,0,5209,0,30,0,226000.0,1.0,140,1,1,87,0
|
157 |
+
61.0,0,248,0,30,1,267000.0,0.7,136,1,1,104,0
|
158 |
+
50.0,0,1548,0,30,1,211000.0,0.8,138,1,0,108,0
|
159 |
+
50.0,0,185,0,30,0,266000.0,0.7,141,1,1,112,0
|
160 |
+
52.0,0,132,0,30,0,218000.0,0.7,136,1,1,112,0
|
161 |
+
75.0,1,582,0,30,0,225000.0,1.83,134,1,0,113,1
|
162 |
+
45.0,0,2442,1,30,0,334000.0,1.1,139,1,0,129,1
|
163 |
+
40.0,0,478,1,30,0,303000.0,0.9,136,1,0,148,0
|
164 |
+
60.667,1,104,1,30,0,389000.0,1.5,136,1,0,171,1
|
165 |
+
73.0,1,231,1,30,0,160000.0,1.18,142,1,1,180,0
|
166 |
+
70.0,0,232,0,30,0,173000.0,1.2,132,1,0,210,0
|
167 |
+
65.0,0,582,1,30,0,249000.0,1.3,136,1,1,212,0
|
168 |
+
52.0,1,191,1,30,1,334000.0,1.0,142,1,1,216,0
|
169 |
+
44.0,0,582,1,30,1,263358.03,1.6,130,1,1,244,0
|
170 |
+
60.0,1,257,1,30,0,150000.0,1.0,137,1,1,245,0
|
171 |
+
42.0,0,64,0,30,0,215000.0,3.8,128,1,1,250,0
|
172 |
+
80.0,1,123,0,35,1,388000.0,9.4,133,1,1,10,1
|
173 |
+
68.0,1,220,0,35,1,289000.0,0.9,140,1,1,20,1
|
174 |
+
69.0,0,582,1,35,0,228000.0,3.5,134,1,0,30,1
|
175 |
+
70.0,1,75,0,35,0,223000.0,2.7,138,1,1,54,0
|
176 |
+
55.0,0,109,0,35,0,254000.0,1.1,139,1,1,60,0
|
177 |
+
45.0,0,582,0,35,0,385000.0,1.0,145,1,0,61,1
|
178 |
+
58.0,0,582,1,35,0,122000.0,0.9,139,1,1,71,0
|
179 |
+
85.0,0,5882,0,35,0,243000.0,1.0,132,1,1,72,1
|
180 |
+
55.0,0,47,0,35,1,173000.0,1.1,137,1,0,79,0
|
181 |
+
45.0,1,1876,1,35,0,226000.0,0.9,138,1,0,88,0
|
182 |
+
45.0,0,292,1,35,0,850000.0,1.3,142,1,1,88,0
|
183 |
+
55.0,0,60,0,35,0,228000.0,1.2,135,1,1,90,0
|
184 |
+
53.0,1,270,1,35,0,227000.0,3.4,145,1,0,105,0
|
185 |
+
81.0,0,4540,0,35,0,231000.0,1.18,137,1,1,107,0
|
186 |
+
60.0,0,2261,0,35,1,228000.0,0.9,136,1,0,115,0
|
187 |
+
50.0,0,1846,1,35,0,263358.03,1.18,137,1,1,119,0
|
188 |
+
45.0,1,130,0,35,0,174000.0,0.8,139,1,1,121,0
|
189 |
+
51.0,1,582,1,35,0,263358.03,1.5,136,1,1,145,0
|
190 |
+
65.0,0,198,1,35,1,281000.0,0.9,137,1,1,146,0
|
191 |
+
80.0,0,582,1,35,0,350000.0,2.1,134,1,0,174,0
|
192 |
+
60.0,0,1211,1,35,0,263358.03,1.8,113,1,1,186,0
|
193 |
+
65.0,1,135,0,35,1,290000.0,0.8,134,1,0,194,0
|
194 |
+
73.0,0,582,0,35,1,203000.0,1.3,134,1,0,195,0
|
195 |
+
68.0,1,1021,1,35,0,271000.0,1.1,134,1,0,197,0
|
196 |
+
42.0,1,86,0,35,0,365000.0,1.1,139,1,1,201,0
|
197 |
+
55.0,1,2794,0,35,1,141000.0,1.0,140,1,0,206,0
|
198 |
+
70.0,0,93,0,35,0,185000.0,1.1,134,1,1,208,0
|
199 |
+
40.0,1,129,0,35,0,255000.0,0.9,137,1,0,209,0
|
200 |
+
40.0,0,90,0,35,0,255000.0,1.1,136,1,1,212,0
|
201 |
+
40.0,0,624,0,35,0,301000.0,1.0,142,1,1,214,0
|
202 |
+
50.0,1,298,0,35,0,362000.0,0.9,140,1,1,240,0
|
203 |
+
40.0,0,582,1,35,0,222000.0,1.0,132,1,0,244,0
|
204 |
+
60.0,0,253,0,35,0,279000.0,1.7,140,1,0,250,0
|
205 |
+
60.0,0,320,0,35,0,133000.0,1.4,139,1,0,258,0
|
206 |
+
63.0,1,103,1,35,0,179000.0,0.9,136,1,1,270,0
|
207 |
+
55.0,0,7861,0,38,0,263358.03,1.1,136,1,0,6,1
|
208 |
+
75.0,1,81,0,38,1,368000.0,4.0,131,1,1,10,1
|
209 |
+
50.0,1,168,0,38,1,276000.0,1.1,137,1,0,11,1
|
210 |
+
87.0,1,149,0,38,0,262000.0,0.9,140,1,0,14,1
|
211 |
+
80.0,0,148,1,38,0,149000.0,1.9,144,1,1,23,1
|
212 |
+
58.0,1,60,0,38,0,153000.0,5.8,134,1,0,26,1
|
213 |
+
94.0,0,582,1,38,1,263358.03,1.83,134,1,0,27,1
|
214 |
+
50.0,0,582,1,38,0,310000.0,1.9,135,1,1,35,1
|
215 |
+
60.0,0,582,1,38,1,451000.0,0.6,138,1,1,40,1
|
216 |
+
75.0,1,203,1,38,1,283000.0,0.6,131,1,1,74,0
|
217 |
+
63.0,0,936,0,38,0,304000.0,1.1,133,1,1,88,0
|
218 |
+
80.0,0,805,0,38,0,263358.03,1.1,134,1,0,109,1
|
219 |
+
75.0,0,99,0,38,1,224000.0,2.5,134,1,0,162,1
|
220 |
+
85.0,0,212,0,38,0,186000.0,0.9,136,1,0,187,0
|
221 |
+
53.0,1,707,0,38,0,330000.0,1.4,137,1,1,209,0
|
222 |
+
54.0,0,582,1,38,0,264000.0,1.8,134,1,0,213,0
|
223 |
+
61.0,1,80,1,38,0,282000.0,1.4,137,1,0,213,0
|
224 |
+
58.0,0,132,1,38,1,253000.0,1.0,139,1,0,230,0
|
225 |
+
61.0,0,582,1,38,0,147000.0,1.2,141,1,0,237,0
|
226 |
+
56.0,1,135,1,38,0,133000.0,1.7,140,1,0,244,0
|
227 |
+
70.0,0,582,1,38,0,25100.0,1.1,140,1,0,246,0
|
228 |
+
65.0,0,1688,0,38,0,263358.03,1.1,138,1,1,250,0
|
229 |
+
52.0,0,190,1,38,0,382000.0,1.0,140,1,1,258,0
|
230 |
+
62.0,0,61,1,38,1,155000.0,1.1,143,1,1,270,0
|
231 |
+
45.0,0,2413,0,38,0,140000.0,1.4,140,1,1,280,0
|
232 |
+
90.0,1,47,0,40,1,204000.0,2.1,132,1,1,8,1
|
233 |
+
60.0,1,607,0,40,0,216000.0,0.6,138,1,1,54,0
|
234 |
+
41.0,0,148,0,40,0,374000.0,0.8,140,1,1,68,0
|
235 |
+
42.0,0,102,1,40,0,237000.0,1.2,140,1,0,74,0
|
236 |
+
44.0,0,84,1,40,1,235000.0,0.7,139,1,0,79,0
|
237 |
+
60.0,1,754,1,40,1,328000.0,1.2,126,1,0,91,0
|
238 |
+
60.0,0,582,0,40,0,217000.0,3.7,134,1,0,96,1
|
239 |
+
75.0,0,582,0,40,0,263358.03,1.18,137,1,0,107,0
|
240 |
+
66.0,1,72,0,40,1,242000.0,1.2,134,1,0,121,0
|
241 |
+
63.0,1,582,0,40,0,448000.0,0.9,137,1,1,123,0
|
242 |
+
52.0,0,3966,0,40,0,325000.0,0.9,140,1,1,146,0
|
243 |
+
69.0,0,1419,0,40,0,105000.0,1.0,135,1,1,147,0
|
244 |
+
55.0,0,835,0,40,0,279000.0,0.7,140,1,1,147,0
|
245 |
+
50.0,1,121,1,40,0,260000.0,0.7,130,1,0,175,0
|
246 |
+
78.0,1,64,0,40,0,277000.0,0.7,137,1,1,187,0
|
247 |
+
55.0,0,66,0,40,0,203000.0,1.0,138,1,0,233,0
|
248 |
+
42.0,0,64,0,40,0,189000.0,0.7,140,1,0,245,0
|
249 |
+
70.0,0,2695,1,40,0,241000.0,1.0,137,1,0,247,0
|
250 |
+
70.0,0,582,0,40,0,51000.0,2.7,136,1,1,250,0
|
251 |
+
50.0,1,54,0,40,0,279000.0,0.8,141,1,0,250,0
|
252 |
+
55.0,1,170,1,40,0,336000.0,1.2,135,1,0,250,0
|
253 |
+
70.0,0,122,1,45,1,284000.0,1.3,136,1,1,26,1
|
254 |
+
85.0,0,23,0,45,0,360000.0,3.0,132,1,0,28,1
|
255 |
+
70.0,0,571,1,45,1,185000.0,1.2,139,1,1,33,1
|
256 |
+
70.0,0,66,1,45,0,249000.0,0.8,136,1,1,80,0
|
257 |
+
60.0,0,897,1,45,0,297000.0,1.0,133,1,0,80,0
|
258 |
+
75.0,0,582,0,45,1,263358.03,1.18,137,1,0,87,0
|
259 |
+
55.0,0,748,0,45,0,263000.0,1.3,137,1,0,88,0
|
260 |
+
60.0,1,1082,1,45,0,250000.0,6.1,131,1,0,107,0
|
261 |
+
50.0,0,115,0,45,1,184000.0,0.9,134,1,1,118,0
|
262 |
+
59.0,1,129,0,45,1,362000.0,1.1,139,1,1,121,0
|
263 |
+
77.0,1,418,0,45,0,223000.0,1.8,145,1,0,180,1
|
264 |
+
63.0,1,1767,0,45,0,73000.0,0.7,137,1,0,186,0
|
265 |
+
53.0,1,582,0,45,0,305000.0,1.1,137,1,1,209,0
|
266 |
+
55.0,1,180,0,45,0,263358.03,1.18,137,1,1,211,0
|
267 |
+
50.0,0,245,0,45,1,274000.0,1.0,133,1,0,215,0
|
268 |
+
50.0,0,196,0,45,0,395000.0,1.6,136,1,1,285,0
|
269 |
+
82.0,1,379,0,50,0,47000.0,1.3,136,1,0,13,1
|
270 |
+
65.0,0,94,1,50,1,188000.0,1.0,140,1,0,29,1
|
271 |
+
90.0,1,60,1,50,0,226000.0,1.0,134,1,0,30,1
|
272 |
+
72.0,0,127,1,50,1,218000.0,1.0,134,1,0,33,0
|
273 |
+
65.0,0,224,1,50,0,149000.0,1.3,137,1,1,72,0
|
274 |
+
67.0,0,582,0,50,0,263358.03,1.18,137,1,1,76,0
|
275 |
+
79.0,1,55,0,50,1,172000.0,1.8,133,1,0,78,0
|
276 |
+
51.0,0,78,0,50,0,406000.0,0.7,140,1,0,79,0
|
277 |
+
85.0,1,910,0,50,0,235000.0,1.3,134,1,0,121,0
|
278 |
+
78.0,0,224,0,50,0,481000.0,1.4,138,1,1,192,0
|
279 |
+
65.0,0,118,0,50,0,194000.0,1.1,145,1,1,200,0
|
280 |
+
77.0,1,109,0,50,1,406000.0,1.1,137,1,0,209,0
|
281 |
+
75.0,0,119,0,50,1,248000.0,1.1,148,1,0,209,0
|
282 |
+
53.0,0,56,0,50,0,308000.0,0.7,135,1,1,231,0
|
283 |
+
60.0,1,315,1,60,0,454000.0,1.1,131,1,1,10,1
|
284 |
+
53.0,0,63,1,60,0,368000.0,0.8,135,1,0,22,0
|
285 |
+
65.0,1,68,1,60,1,304000.0,0.8,140,1,0,79,0
|
286 |
+
58.0,1,133,0,60,1,219000.0,1.0,141,1,0,83,0
|
287 |
+
85.0,0,129,0,60,0,306000.0,1.2,132,1,1,90,1
|
288 |
+
60.0,1,737,0,60,1,210000.0,1.5,135,1,1,95,0
|
289 |
+
53.0,1,1808,0,60,1,249000.0,0.7,138,1,1,106,0
|
290 |
+
63.0,0,193,0,60,1,295000.0,1.3,145,1,1,107,0
|
291 |
+
64.0,0,1610,0,60,0,242000.0,1.0,137,1,0,113,0
|
292 |
+
62.0,0,30,1,60,1,244000.0,0.9,139,1,0,117,0
|
293 |
+
53.0,0,196,0,60,0,220000.0,0.7,133,1,1,134,0
|
294 |
+
70.0,1,171,0,60,1,176000.0,1.1,145,1,1,146,0
|
295 |
+
60.0,1,95,0,60,0,337000.0,1.0,138,1,1,146,0
|
296 |
+
63.0,1,122,1,60,0,267000.0,1.2,145,1,0,147,0
|
297 |
+
45.0,0,308,1,60,1,377000.0,1.0,136,1,0,186,0
|
298 |
+
70.0,0,97,0,60,1,220000.0,0.9,138,1,0,186,0
|
299 |
+
53.0,1,446,0,60,1,263358.03,1.0,139,1,0,215,0
|
300 |
+
50.0,0,582,0,62,1,147000.0,0.8,140,1,1,192,0
|
heart.jpg
ADDED
list_cat_cols.txt
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
["anaemia", "diabetes", "high_blood_pressure", "sex", "smoking"]
|
list_num_cols.txt
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
["age", "creatinine", "ejection", "platelets", "serum_sodium", "serum_creatinine", "time"]
|
main.py
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
import eda
|
3 |
+
import prediction
|
4 |
+
|
5 |
+
navigation = st.sidebar.selectbox('Choose Page : ', ('EDA', 'Death Prediction'))
|
6 |
+
|
7 |
+
if navigation == 'EDA':
|
8 |
+
eda.run()
|
9 |
+
else:
|
10 |
+
prediction.run()
|
model_rnd.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:17fb6a87bb8f0d05be991fccef48f680ff63e54dc3f811a7ef002db934ff4b04
|
3 |
+
size 517842
|
model_scaler.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:3670e70688b9c27c13e4bc9e7c5a334bb95b5be18e24b0fc9e5267a9eb63a1cd
|
3 |
+
size 930
|
prediction.py
ADDED
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
import pandas as pd
|
3 |
+
import numpy as np
|
4 |
+
import pickle
|
5 |
+
import json
|
6 |
+
|
7 |
+
# Load All Files
|
8 |
+
|
9 |
+
with open('model_rnd.pkl', 'rb') as file_1:
|
10 |
+
model_rnd = pickle.load(file_1)
|
11 |
+
|
12 |
+
with open('model_scaler.pkl', 'rb') as file_2:
|
13 |
+
model_scaler = pickle.load(file_2)
|
14 |
+
|
15 |
+
with open('list_num_cols.txt', 'r') as file_3:
|
16 |
+
list_num_cols = json.load(file_3)
|
17 |
+
|
18 |
+
with open('list_cat_cols.txt', 'r') as file_4:
|
19 |
+
list_cat_cols = json.load(file_4)
|
20 |
+
|
21 |
+
def run():
|
22 |
+
with st.form(key='heart_failure'):
|
23 |
+
age = st.number_input('age', min_value=40, max_value=95, value=60, step=1, help='Patient Age')
|
24 |
+
plateletes = st.number_input('plateletes', min_value=0, max_value=1000000, value=0)
|
25 |
+
creatinine = st.number_input('creatinine', min_value=0, max_value=7861, value=0)
|
26 |
+
ejection = st.number_input('ejection', min_value=0, max_value=100, value=0)
|
27 |
+
st.markdown('---')
|
28 |
+
|
29 |
+
high_blood_pressure = st.selectbox('high_blood_pressure', (0, 1), index=1)
|
30 |
+
anaemia = st.selectbox('anaemia', (0, 1), index=1)
|
31 |
+
diabetes = st.selectbox('diabetes', (0, 1), index=1)
|
32 |
+
sex = st.selectbox('sex', (0, 1), index=1)
|
33 |
+
smoking = st.selectbox('smoking', (0, 1), index=1)
|
34 |
+
|
35 |
+
st.markdown('---')
|
36 |
+
|
37 |
+
serum_creatinine = st.number_input('serum_creatinine', min_value=0, max_value=100, value=0)
|
38 |
+
serum_sodium = st.number_input('serum_sodium', min_value=0, max_value=100, value=0)
|
39 |
+
time = st.number_input('time', min_value=0, max_value=10000, value=0)
|
40 |
+
death = st.selectbox('death', (0, 1), index=1)
|
41 |
+
|
42 |
+
submitted = st.form_submit_button('Predict')
|
43 |
+
|
44 |
+
data_inf = {
|
45 |
+
'age': age,
|
46 |
+
'anaemia': anaemia,
|
47 |
+
'creatinine': creatinine,
|
48 |
+
'diabetes': diabetes,
|
49 |
+
'ejection': ejection,
|
50 |
+
'high_blood_pressure': high_blood_pressure,
|
51 |
+
'platelets': plateletes,
|
52 |
+
'serum_creatinine': serum_creatinine,
|
53 |
+
'serum_sodium': serum_sodium,
|
54 |
+
'sex': sex,
|
55 |
+
'smoking': smoking,
|
56 |
+
'time': time,
|
57 |
+
'death': death
|
58 |
+
}
|
59 |
+
|
60 |
+
data_inf = pd.DataFrame([data_inf])
|
61 |
+
st.dataframe(data_inf)
|
62 |
+
|
63 |
+
if submitted:
|
64 |
+
|
65 |
+
# Split between Numerical Columns and Categorical Columns
|
66 |
+
data_inf_num = data_inf[list_num_cols]
|
67 |
+
data_inf_cat = data_inf[list_cat_cols]
|
68 |
+
data_inf_num
|
69 |
+
|
70 |
+
# Feature Scaling and Feature Encoding
|
71 |
+
data_inf_num_scaled = model_scaler.transform(data_inf_num)
|
72 |
+
data_inf_final = np.concatenate([data_inf_num_scaled, data_inf_cat], axis=1)
|
73 |
+
|
74 |
+
# Predict using Linear Regression
|
75 |
+
y_pred_inf = model_rnd.predict(data_inf_final)
|
76 |
+
st.write('# Death Prediction : ', str(int(y_pred_inf)))
|
77 |
+
|
78 |
+
if __name__ == '__main__':
|
79 |
+
run()
|
requirements.txt
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Berisi daftar library yang kita butuhkan
|
2 |
+
|
3 |
+
streamlit
|
4 |
+
pandas
|
5 |
+
seaborn
|
6 |
+
matplotlib
|
7 |
+
numpy
|
8 |
+
scikit-learn==1.2.1
|
9 |
+
plotly
|