File size: 1,506 Bytes
960b1a0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
from sklearn.metrics import recall_score, f1_score

def uar(y_true, y_pred):
    """
    Вычисление метрики UAR (Unweighted Average Recall).
    
    :param y_true: Истинные метки
    :param y_pred: Предсказанные метки
    :return: UAR (Recall по всем классам без учета веса)
    """
    return recall_score(y_true, y_pred, average='macro', zero_division=0)

def war(y_true, y_pred):
    """
    Вычисление метрики WAR (Weighted Average Recall).
    
    :param y_true: Истинные метки
    :param y_pred: Предсказанные метки
    :return: WAR (Recall с учетом веса классов)
    """
    return recall_score(y_true, y_pred, average='weighted', zero_division=0)

def mf1(y_true, y_pred):
    """
    Вычисление метрики MF1 (Macro F1 Score).
    
    :param y_true: Истинные метки
    :param y_pred: Предсказанные метки
    :return: MF1 (F1 с усреднением по всем классам)
    """
    return f1_score(y_true, y_pred, average='macro', zero_division=0)

def wf1(y_true, y_pred):
    """
    Вычисление метрики WFI (Weighted F1 Score).
    
    :param y_true: Истинные метки
    :param y_pred: Предсказанные метки
    :return: WFI (F1 с учетом веса классов)
    """
    return f1_score(y_true, y_pred, average='weighted', zero_division=0)