final update with severity
Browse files
app.py
CHANGED
@@ -98,21 +98,20 @@ class ModelPredictor:
|
|
98 |
probs.append(np.full(len(user_input), np.nan))
|
99 |
return preds, probs
|
100 |
|
101 |
-
def evaluate_severity(self,
|
102 |
"""
|
103 |
-
Evaluate severity based on
|
104 |
-
|
105 |
-
we can interpret how many 2's are present.
|
106 |
"""
|
107 |
-
|
108 |
-
if count_twos >= 13:
|
109 |
return "Mental Health Severity: Severe"
|
110 |
-
elif
|
111 |
return "Mental Health Severity: Moderate"
|
112 |
-
elif
|
113 |
return "Mental Health Severity: Low"
|
114 |
else:
|
115 |
return "Mental Health Severity: Very Low"
|
|
|
116 |
|
117 |
predictor = ModelPredictor(model_path, model_filenames)
|
118 |
|
@@ -333,9 +332,14 @@ def predict(
|
|
333 |
|
334 |
# Flatten predictions into a single array
|
335 |
all_preds = np.concatenate(preds)
|
336 |
-
#
|
337 |
-
|
338 |
-
|
|
|
|
|
|
|
|
|
|
|
339 |
|
340 |
# 4) Summarize predictions (with probabilities)
|
341 |
# Build label -> (pred_value, prob_value)
|
|
|
98 |
probs.append(np.full(len(user_input), np.nan))
|
99 |
return preds, probs
|
100 |
|
101 |
+
def evaluate_severity(self, count_ones: int) -> str:
|
102 |
"""
|
103 |
+
Evaluate severity based on how many labels predicted = 1.
|
104 |
+
The bigger the number of 1’s, the more severe the condition.
|
|
|
105 |
"""
|
106 |
+
if count_ones >= 13:
|
|
|
107 |
return "Mental Health Severity: Severe"
|
108 |
+
elif count_ones >= 9:
|
109 |
return "Mental Health Severity: Moderate"
|
110 |
+
elif count_ones >= 5:
|
111 |
return "Mental Health Severity: Low"
|
112 |
else:
|
113 |
return "Mental Health Severity: Very Low"
|
114 |
+
|
115 |
|
116 |
predictor = ModelPredictor(model_path, model_filenames)
|
117 |
|
|
|
332 |
|
333 |
# Flatten predictions into a single array
|
334 |
all_preds = np.concatenate(preds)
|
335 |
+
# =====================================
|
336 |
+
# Count how many are "1" (the 'Yes' or
|
337 |
+
# more severe category in your new mapping)
|
338 |
+
# =====================================
|
339 |
+
count_ones = np.sum(all_preds == 1)
|
340 |
+
|
341 |
+
# Evaluate severity using count_ones
|
342 |
+
severity_msg = predictor.evaluate_severity(count_ones)
|
343 |
|
344 |
# 4) Summarize predictions (with probabilities)
|
345 |
# Build label -> (pred_value, prob_value)
|