Курс Python → Оценка точности модели

Для того чтобы эффективно оценивать работу нашей модели машинного обучения, необходимо определить метод тестирования. Этот метод позволит нам оценить точность модели на тестовом наборе данных. Основное отличие метода тестирования от обучения заключается в том, что во время тестирования мы используем функцию model.eval(), которая переводит модель в режим тестирования. Также мы используем функцию torch.no_grad(), которая отключает вычисление градиента, поскольку во время тестирования нам не нужно обновлять веса модели.

Для начала необходимо перевести модель в режим тестирования с помощью функции model.eval(). Это позволяет модели работать в режиме, оптимизированном для тестирования, а не для обучения. Затем мы используем функцию torch.no_grad(), чтобы временно отключить вычисление градиента. Это позволяет ускорить процесс тестирования, так как нам не нужно хранить информацию о градиентах.

После того как модель переведена в режим тестирования и вычисление градиента отключено, мы можем приступить к оценке точности модели на тестовом наборе данных. Для этого вычисляем средние потери (loss) для каждого объекта в тестовом наборе. Затем суммируем потери и делим на общее количество объектов, чтобы получить среднюю потерю для всего тестового набора.

model.eval()

with torch.no_grad():
    for inputs, labels in test_loader:
        outputs = model(inputs)
        loss = criterion(outputs, labels)
        test_loss += loss.item()

После вычисления средних потерь на тестовом наборе данных, можно также оценить общую точность модели. Для этого можно использовать метрики оценки качества, такие как accuracy_score или confusion_matrix. Общая точность модели на тестовом наборе позволяет оценить ее работу и сравнить с другими моделями или параметрами обучения.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Декораторы в Python
  2. Поиск частого элемента
  3. Хеширование паролей с солью
  4. Декодирование строк в Python
  5. Измерение времени выполнения кода
  6. Работа с контекстными менеджерами
  7. Получение текущей директории
  8. Отправка поздравлений по дню рождения
  9. Измерение времени выполнения
  10. Аннотации типов в Python
  11. Логические значения в Python
  12. Анонимные функции в Python
  13. Форматирование даты с strftime()
  14. Аннотации типов в Python
  15. Объединение списков с помощью zip
  16. Работа с модулем bisect
  17. Динамические маршруты во Flask
  18. Создание списка через цикл
  19. Итераторы в Python
  20. Оператор «not» в Python
  21. Замена элементов в списке с помощью генераторов списков
  22. Генераторы в Python
  23. Замыкания в Python
  24. Использование *args
  25. Оператор морж в Python 3.8
  26. Enum в Python
  27. ChainMap.new_child() — добавление нового словаря
  28. Определение имен функций
  29. Преобразование регистра символов
  30. Любовь к Python
  31. Цикл for в Python
  32. Поиск частых элементов в списке
  33. Модуль array: создание и использование массивов
  34. Переворот списка в Python
  35. Установка Python3.7 и PIP
  36. Работа со строками
  37. Магические методы в Python
  38. Настройка вывода в Numpy
  39. Многострочные комментарии в Python
  40. Сравнение строк в Python
  41. Поиск с помощью регулярных выражений
  42. Перезагрузка оператора в Python

Marketello читают маркетологи из крутых компаний