xshubhamx commited on
Commit
9dbd99a
Β·
verified Β·
1 Parent(s): 8d78ceb

Update multiclass_specificity_weighted.py

Browse files
Files changed (1) hide show
  1. multiclass_specificity_weighted.py +2 -21
multiclass_specificity_weighted.py CHANGED
@@ -87,26 +87,7 @@ class multiclass_specificity_weighted(evaluate.Metric):
87
  pass
88
 
89
  def _compute(self, predictions, references):
90
- import numpy as np
91
- """Returns the scores"""
92
- # TODO: Compute the different scores of the module
93
- unique_classes = np.unique(predictions)
94
- num_classes = len(unique_classes)
95
- specificity = np.zeros(num_classes)
96
- class_counts = np.bincount(predictions)
97
- total_samples = len(predictions)
98
-
99
- for i, class_label in enumerate(unique_classes):
100
- true_negative = sum((predictions != class_label) & (references != class_label))
101
- total_negative = sum(predictions != class_label)
102
-
103
- if total_negative != 0:
104
- specificity[i] = true_negative / total_negative
105
- else:
106
- specificity[i] = 0.0
107
-
108
- weighted_specificity = np.sum(specificity * (class_counts / total_samples))
109
-
110
  return {
111
- "weighted_specificity": weighted_specificity,
112
  }
 
87
  pass
88
 
89
  def _compute(self, predictions, references):
90
+ from imblearn.metrics import specificity_score
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
91
  return {
92
+ "weighted_specificity": specificity_score(references, predictions, average = "weighted"),
93
  }