Spaces:
Runtime error
Runtime error
Update multiclass_specificity_weighted.py
Browse files
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 |
-
|
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":
|
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 |
}
|