Andika Atmanegara Putra commited on
Commit
eaf6202
1 Parent(s): 95e55fa

submit file

Browse files
app.py ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import eda
3
+ import prediction
4
+
5
+ navigation = st.sidebar.selectbox('pilih halaman: ', ('EDA', 'Predict Mortality'))
6
+
7
+ if navigation == 'EDA':
8
+ eda.run()
9
+ else:
10
+ prediction.run()
cat_model.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e4795d615a6c1dbe9340096d0b8de41cab7394da74bca698cd2d4df40bc8c6fb
3
+ size 61582
eda.py ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ st.set_page_config(
9
+ page_title='EDA',
10
+ layout='wide',
11
+ initial_sidebar_state='expanded'
12
+ )
13
+
14
+ def run():
15
+ # title
16
+ st.title('Predicting Patient Survival')
17
+
18
+ # sub header
19
+ st.subheader('Understanding Mortality Risk Factors and Predictive Modeling')
20
+
21
+ # add pic
22
+ image = Image.open('heart.png')
23
+ st.image(image, caption='Health Parameter')
24
+ # add text
25
+ '''
26
+ Page ini dibuat untuk memprediksi **kematian pasien** dengan menggunakan
27
+ dataset yang tersedia. Dengan melakukan explorasi, akan ditinjau beberapa
28
+ insight yang dapat menjadi faktor-faktor / variabel yang membuat seorang
29
+ pasien dapat diprediksi meninggal atau tidak.
30
+ '''
31
+ st.markdown('---')
32
+ st.subheader('Explorasi Data')
33
+ st.markdown('---')
34
+
35
+ st.write('### Tabel Data Pasien')
36
+ # show dataframe
37
+ data = pd.read_csv('h8dsft_P1G3_Andikaa_Atmanegara_Putra.csv')
38
+ st.dataframe(data)
39
+
40
+ st.markdown('---')
41
+
42
+ # visual barplot
43
+ st.write('### Histogram Berdasarkan User Input ')
44
+ choice = st.selectbox('Pilih Columns: ', ('age', 'anaemia',
45
+ 'sex', 'DEATH_EVENT',
46
+ 'creatinine_phosphokinase',
47
+ 'platelets'))
48
+
49
+ fig = plt.figure(figsize=(15,5))
50
+ sns.histplot(data[choice], bins=30, kde=True)
51
+ st.pyplot(fig)
52
+
53
+ if __name__ == '__main__':
54
+ run()
h8dsft_P1G3_Andikaa_Atmanegara_Putra.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.png ADDED
num_cols_nsc.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ ["anemia", "diabetes", "high_blood_pressure", "sex", "smoking"]
num_cols_sc.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ ["age", "creatinine_phosphokinase", "ejection_fraction", "platelets", "serum_creatinine", "serum_sodium", "time"]
prediction.py ADDED
@@ -0,0 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ import streamlit as st
3
+ import pandas as pd
4
+ import numpy as np
5
+ import pickle
6
+ import json
7
+
8
+ # load all files
9
+ # Modelling
10
+
11
+ with open('cat_model.pkl', 'rb') as file_1:
12
+ cat_model = pickle.load(file_1)
13
+
14
+ # Pre-processing
15
+ with open('scale_feat.pkl', 'rb') as file_2:
16
+ scale_feat = pickle.load(file_2)
17
+
18
+ with open('winsoriser.pkl', 'rb') as file_3:
19
+ winsoriser = pickle.load(file_3)
20
+
21
+ # List Numeric & Category
22
+ with open('num_cols_sc.txt', 'r') as file_4:
23
+ num_cols_sc = json.load(file_4)
24
+
25
+ with open('num_cols_nsc.txt', 'r') as file_5:
26
+ num_cols_nsc = json.load(file_5)
27
+
28
+
29
+ def run():
30
+ with st.form(key='from_health'):
31
+ age = st.number_input('Usia', min_value=25, max_value=95,
32
+ value=40, step=1, help='Usia Pasien')
33
+
34
+ anaemia = st.number_input('Anemia', min_value=0, max_value=1,
35
+ value=0, step=1, help='Terindikasi Anemia 0 = Tidak, 1 = Ya')
36
+
37
+ creatinine_phosphokinase = st.slider('Creatine Value', 0, 10_000, 1500, step=20, help='Kadar Creatinine')
38
+
39
+ diabetes = st.number_input('Diabetes', min_value=0, max_value=1,
40
+ value=0, step=1, help='Terindikasi Diabetes 0 = Tidak, 1 = Ya')
41
+
42
+ ejection_fraction = st.number_input('Ejection Value', min_value=0, max_value=100,
43
+ value=50, step=1, help='Kadar Ejection')
44
+
45
+ high_blood_pressure = st.number_input('Tekanan Darah Tinggi', min_value=0, max_value=1,
46
+ value=0, step=1, help='Terindikasi Tekanan Darah Tinggi 0 = Tidak, 1 = Ya')
47
+
48
+ platelets = st.slider('Platelets', 0, 850_000, 50_000, step=100, help='Kadar Platelets')
49
+
50
+ serum_creatinine = st.number_input('Serum Creatinine', min_value=0, max_value=10,
51
+ value=5, step=1, help='Kadar Serum_Creatinine')
52
+
53
+ serum_sodium = st.number_input('Serum Sodium', min_value=0, max_value=150,
54
+ value=50, step=1, help='Kadar Serum_Sodium')
55
+
56
+ sex = st.number_input('Jenis Kelamin', min_value=0, max_value=1,
57
+ value=0, step=1, help='Kode jenis kelamin 0 = wanita , 1 = pria')
58
+
59
+ smoking = st.number_input('Merokok', min_value=0, max_value=1,
60
+ value=0, step=1, help='Terindikasi Merokok 0 = Tidak, 1 = Ya')
61
+
62
+ time = st.number_input('Waktu', min_value=0, max_value=300,
63
+ value=10, step=1, help='Waktu berkunjung kembali')
64
+
65
+ st.markdown('---')
66
+ submitted = st.form_submit_button('Predict')
67
+
68
+ data_inf = {
69
+ 'age': age,
70
+ 'anemia': anaemia,
71
+ 'creatinine_phosphokinase': creatinine_phosphokinase,
72
+ 'diabetes': diabetes,
73
+ 'ejection_fraction': ejection_fraction,
74
+ 'high_blood_pressure': high_blood_pressure,
75
+ 'platelets': platelets,
76
+ 'serum_creatinine': serum_creatinine,
77
+ 'serum_sodium': serum_sodium,
78
+ 'sex': sex,
79
+ 'smoking': smoking,
80
+ 'time': time,
81
+ }
82
+
83
+ data_inf = pd.DataFrame([data_inf])
84
+ st.dataframe(data_inf)
85
+
86
+ if submitted:
87
+ data_inf_sc = data_inf[num_cols_sc]
88
+ data_inf_nsc = data_inf[num_cols_nsc]
89
+
90
+ # scalling
91
+ data_inf_sc = scale_feat.transform(data_inf_sc)
92
+ data_inf_sc = pd.DataFrame(data_inf_sc, columns=num_cols_sc)
93
+ # Reset Index
94
+ data_inf_sc.reset_index(drop= True, inplace= True)
95
+ data_inf_nsc.reset_index(drop = True, inplace = True)
96
+ data_final = pd.concat([data_inf_nsc, data_inf_sc], axis= 1)
97
+ # modeling
98
+ y_pred_inf = cat_model.predict(data_final)
99
+
100
+ st.write('Prediction: ', (y_pred_inf))
101
+
102
+
103
+ if __name__ == '__main__':
104
+ run()
requirements.txt ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ streamlit
2
+ pandas
3
+ seaborn
4
+ matplotlib
5
+ plotly
6
+ Pillow
7
+ scikit-learn==1.2.2
scale_feat.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:aedc943e6f8c5f4f0672a9615beed3c2995f0856781ff0bffacda6340c1624b8
3
+ size 953
winsoriser.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a5178980b979b24398708bd5f51589fcf6f4b4086286cf5159ba17e607ba2eb3
3
+ size 654