NER-medical-text / metrics.py
Ajay Karthick Senthil Kumar
update
5bd622e
raw
history blame contribute delete
785 Bytes
from keras import backend as K
def precision(y_true, y_pred):
true_positives = K.sum(K.round(K.clip(y_true * y_pred, 0, 1)))
predicted_positives = K.sum(K.round(K.clip(y_pred, 0, 1)))
_precision = true_positives / (predicted_positives + K.epsilon())
return _precision
def recall(y_true, y_pred):
"""Compute recall metric"""
true_positives = K.sum(K.round(K.clip(y_true * y_pred, 0, 1)))
possible_positives = K.sum(K.round(K.clip(y_true, 0, 1)))
return true_positives / (possible_positives + K.epsilon())
def f1_score(y_true, y_pred):
"""Compute f1-score metric"""
_precision = precision(y_true, y_pred)
_recall = recall(y_true, y_pred)
f1_score = 2 * ((_precision * _recall) / (_precision + _recall + K.epsilon()))
return f1_score