pantdipendra commited on
Commit
96f0310
·
verified ·
1 Parent(s): 2f5f1fb

final update with severity

Browse files
Files changed (1) hide show
  1. app.py +15 -11
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, count_twos: int) -> str:
102
  """
103
- Evaluate severity based on total # of '2' predictions across all labels.
104
- In other words, if '2' is the 'Yes' or 'Has it' category,
105
- we can interpret how many 2's are present.
106
  """
107
- # If you're treating "2" as the 'positive' class, let's rename "count_ones" to "count_twos".
108
- if count_twos >= 13:
109
  return "Mental Health Severity: Severe"
110
- elif count_twos >= 9:
111
  return "Mental Health Severity: Moderate"
112
- elif count_twos >= 5:
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
- # Count how many are "2" (assuming "2" is the 'positive' or 'yes' condition)
337
- count_twos = np.sum(all_preds == 2)
338
- severity_msg = predictor.evaluate_severity(count_twos)
 
 
 
 
 
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)