Напишите свою метрику
custom_score, которая будет вычислять "взвешенную точность": за TP даём +2, за TN — +1, FP и FN — 0. Это может быть полезно в задачах, где ложноположительные и ложноотрицательные результаты имеют разный весРешение задачи🔽
from sklearn.metrics import confusion_matrix
def custom_score(y_true, y_pred):
tn, fp, fn, tp = confusion_matrix(y_true, y_pred).ravel()
score = tp * 2 + tn * 1
return score / (tp + tn + fp + fn) # нормализуем
# Пример использования:
y_true = [1, 0, 1, 1, 0, 0, 1]
y_pred = [1, 0, 0, 1, 0, 1, 1]
print(custom_score(y_true, y_pred)) # Примерный вывод: 0.71