Spaces:
Runtime error
Runtime error
| """ | |
| This module contains custom metric functions for binary classification models using TensorFlow and Keras. | |
| Functions: | |
| - f1(y_true, y_pred): Computes the F1 score metric for binary classification models. | |
| - recall(y_true, y_pred): Computes the recall metric for binary classification models. | |
| - precision(y_true, y_pred): Computes the precision metric for binary classification models. | |
| """ | |
| import tensorflow as tf | |
| from tensorflow.keras import backend as K | |
| def f1(y_true, y_pred): | |
| y_pred = K.round(y_pred) | |
| tp = K.sum(K.cast(y_true * y_pred, "float"), axis=0) | |
| tn = K.sum(K.cast((1 - y_true) * (1 - y_pred), "float"), axis=0) | |
| fp = K.sum(K.cast((1 - y_true) * y_pred, "float"), axis=0) | |
| fn = K.sum(K.cast(y_true * (1 - y_pred), "float"), axis=0) | |
| precision = tp / (tp + fp + K.epsilon()) | |
| recall = tp / (tp + fn + K.epsilon()) | |
| f1_score = 2 * precision * recall / (precision + recall + K.epsilon()) | |
| return f1_score | |
| def recall(y_true, y_pred): | |
| y_pred = K.round(y_pred) | |
| tp = K.sum(K.cast(y_true * y_pred, "float"), axis=0) | |
| fn = K.sum(K.cast(y_true * (1 - y_pred), "float"), axis=0) | |
| recall = tp / (tp + fn + K.epsilon()) | |
| return recall | |
| def precision(y_true, y_pred): | |
| y_pred = K.round(y_pred) | |
| tp = K.sum(K.cast(y_true * y_pred, "float"), axis=0) | |
| fp = K.sum(K.cast((1 - y_true) * y_pred, "float"), axis=0) | |
| precision = tp / (tp + fp + K.epsilon()) | |
| return precision | |