Проблема с точностью вычислений и отзывом

#python #keras #conv-neural-network

#python #keras #conv-нейронная сеть

Вопрос:

Я не смог правильно рассчитать точность и отзыв в приведенном ниже коде:

Не могли бы вы, пожалуйста, помочь исправить формулу для них. Вот сегмент кода:

 for epoch in range(2):  
    running_loss = 0.0
    training_accuracy = 0.0
    training_total = 0.0
    training_correct = 0.0
    ##########
    training_precision = 0.0
    training_recall = 0.0
    
    for i, data in enumerate(t_loader, 0):
      
        inputs, labels = data        
        optimizer.zero_grad()

        inputs = inputs.view(bs,1,28,28).float()
        outputs = cnn(inputs)
    
        _, predicted = torch.max(outputs.data, 1) 
        training_total = training_total   labels.size(0)
        training_correct = training_correct   (predicted == labels).sum().item() #accumulate correct
        ##########

        loss = criterion(outputs, labels)
        loss.backward()
        optimizer.step()

        running_loss  = loss.item()
        if i % 200 == 199:    
            training_accuracy=training_correct/training_total
            training_accuracy_list.append(training_accuracy)
            ##########
            training_precision = training_correct / (training_correct   labels.size(0))/220 
            training_recall = training_correct / (training_correct   (predicted != labels).sum().item() )/200
            
 

Комментарии:

1. Вы используете pytorch not keras , поэтому измените тег на torch or pytorch , если вы действительно хотите, чтобы другие решили вашу проблему, тогда я предлагаю вам опубликовать некоторый тестовый код, который каждый может запустить, иначе нет способа отладить его для вас

Ответ №1:

Способ вычисления точности и отзыва неверен, сначала не следует добавлять все истинные положительные значения, проверьте правильный способ вычисления точности и отзыва для многоклассовой классификации