zendeer commited on
Commit
b9d2247
·
1 Parent(s): c6b3cd6

Upload main.py

Browse files
Files changed (1) hide show
  1. main.py +72 -0
main.py ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import json
3
+ import requests
4
+ import pandas as pd
5
+ import numpy as np
6
+ import pickle
7
+
8
+ st.title("Прогнозирование фракции выброса левого желудочка")
9
+
10
+
11
+ col1, col2, col3, col4, col5 = st.columns(5)
12
+
13
+ kco = 57.0
14
+ kcr = 36.0
15
+ kdo = 128.5
16
+ cdla = 28.0
17
+ nyha = 2.0
18
+
19
+ mod = st.radio(
20
+ "Выберите модель",
21
+ options=["Линейная", "Нелинейная"]
22
+ )
23
+
24
+ with col1:
25
+ f1 = st.text_input('КCО')
26
+ with col2:
27
+ f2 =st.text_input('КСР')
28
+ with col3:
29
+ f3 = st.text_input('КДО')
30
+ with col4:
31
+ f4 = st.text_input('СДЛА')
32
+ with col5:
33
+ f5 = st.text_input('NYHA')
34
+
35
+
36
+ filename_model = 'huber.pickle'
37
+ filename_scaler = 'scaler.pickle'
38
+ filename_cat = 'catboost.pickle'
39
+
40
+ loaded_model = pickle.load(open(filename_model, 'rb'))
41
+ loaded_scaler = pickle.load(open(filename_scaler, 'rb'))
42
+ loaded_cat = pickle.load(open(filename_cat, 'rb'))
43
+
44
+
45
+ if st.button('OK'):
46
+
47
+ if f1 == '':
48
+ st.write('Вы не ввели КСО, будет использовано медианное значение')
49
+ f1 = kco
50
+ if f2 == '':
51
+ st.write('Вы не ввели КСР, будет использовано медианное значение')
52
+ f2 = kcr
53
+ if f3 == '':
54
+ st.write('Вы не ввели КДО, будет использовано медианное значение')
55
+ f3 = kdo
56
+ if f4 == '':
57
+ st.write('Вы не ввели СДЛА, будет использовано медианное значение')
58
+ f4 = cdla
59
+ if f5 == '':
60
+ st.write('Вы не ввели NYHA, будет использовано медианное значение')
61
+ f5 = nyha
62
+
63
+ line = np.array([[float(f1), float(f2), float(f3), float(f4), float(f5)]])
64
+
65
+ if mod == 'Линейная':
66
+ line_norm = loaded_scaler.transform(line)
67
+ res = loaded_model.predict(line_norm)[0]
68
+ st.write(int(res))
69
+ else:
70
+ res = loaded_cat.predict(line)[0]
71
+ st.write(int(res))
72
+