Mykes commited on
Commit
323e84a
·
verified ·
1 Parent(s): 11ffc14

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +37 -3
app.py CHANGED
@@ -24,6 +24,8 @@ categorical_features = data['categorical_features']
24
  numeric_features = data['numeric_features']
25
  categorical_options = data['categorical_options']
26
  group_names = data['group_names']
 
 
27
 
28
  st.title('Классификатор пациентов')
29
 
@@ -35,16 +37,42 @@ def get_user_input():
35
  st.subheader('Числовые параметры')
36
  for feature in feature_list:
37
  if feature in numeric_features:
38
- input_data[feature] = st.number_input(f'{feature}', value=0.0)
 
 
 
 
 
 
 
 
 
39
 
40
  # Категориальные признаки
41
  st.subheader('Категориальные параметры')
42
  for feature in categorical_features:
43
  options = categorical_options[feature]
44
- input_data[feature] = st.selectbox(f'{feature}', options)
 
 
 
 
 
 
45
 
46
  return input_data
47
 
 
 
 
 
 
 
 
 
 
 
 
48
  # Получение данных от пользователя
49
  user_input = get_user_input()
50
 
@@ -80,4 +108,10 @@ if st.button('Выполнить классификацию'):
80
 
81
  # Добавим вывод введенных данных для проверки
82
  st.write("\nВведенные данные:")
83
- st.write(input_df)
 
 
 
 
 
 
 
24
  numeric_features = data['numeric_features']
25
  categorical_options = data['categorical_options']
26
  group_names = data['group_names']
27
+ numeric_defaults = data['numeric_defaults']
28
+ categorical_defaults = data['categorical_defaults']
29
 
30
  st.title('Классификатор пациентов')
31
 
 
37
  st.subheader('Числовые параметры')
38
  for feature in feature_list:
39
  if feature in numeric_features:
40
+ default_value = float(numeric_defaults[feature])
41
+ min_val = default_value - abs(default_value)
42
+ max_val = default_value + abs(default_value)
43
+ input_data[feature] = st.number_input(
44
+ f'{feature}',
45
+ value=default_value,
46
+ min_value=min_val,
47
+ max_value=max_val,
48
+ help=f"Среднее значение: {default_value:.2f}"
49
+ )
50
 
51
  # Категориальные признаки
52
  st.subheader('Категориальные параметры')
53
  for feature in categorical_features:
54
  options = categorical_options[feature]
55
+ default_idx = options.index(categorical_defaults[feature]) if categorical_defaults[feature] in options else 0
56
+ input_data[feature] = st.selectbox(
57
+ f'{feature}',
58
+ options,
59
+ index=default_idx,
60
+ help=f"Наиболее частое значение: {categorical_defaults[feature]}"
61
+ )
62
 
63
  return input_data
64
 
65
+ # Добавим описание
66
+ st.markdown("""
67
+ ## Описание
68
+ Это приложение помогает классифицировать пациентов по группам на основе введенных параметров.
69
+
70
+ ### Инструкция:
71
+ 1. Заполните все поля формы (установлены средние значения по умолчанию)
72
+ 2. Нажмите кнопку "Выполнить классификацию"
73
+ 3. Получите результат с вероятностями принадлежности к каждой группе
74
+ """)
75
+
76
  # Получение данных от пользователя
77
  user_input = get_user_input()
78
 
 
108
 
109
  # Добавим вывод введенных данных для проверки
110
  st.write("\nВведенные данные:")
111
+ st.write(input_df)
112
+
113
+ # Добавим информацию о модели
114
+ with st.expander("Информация о модели"):
115
+ st.write(f"Количество признаков: {len(feature_list)}")
116
+ st.write(f"Числовые признаки: {len(numeric_features)}")
117
+ st.write(f"Категориальные признаки: {len(categorical_features)}")