Курс 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. Сумма элементов списка
  2. Функциональное программирование в Python
  3. Конвертация коллекций в Python
  4. Сравнение def и lambda функций в Python
  5. Установка пакета в Python
  6. Получение ID процесса
  7. Модуль pprint: улучшение вывода данных
  8. Генератор бросков кубиков
  9. Работа с переменными в Python
  10. Вывод с переменной через запятую
  11. Блок else в циклах.
  12. Управление виртуальными окружениями в Python
  13. Хранение данных с помощью dataclasses
  14. Обработка StopIteration в Python
  15. Подсчет частотности элементов в Python
  16. Тестирование с responses
  17. Применение функций в Python
  18. Работа с комплексными числами
  19. Работа с deque из collections
  20. Хэш-функции в Python
  21. Получение пути к текущему скрипту с помощью os
  22. Отправка HTTP-запросов в Python
  23. Пропуск строк в файле с itertools
  24. PUT запрос для обновления данных
  25. Работа с срезами в Numpy
  26. Работа со списками
  27. Непрерывная проверка в Python
  28. PATCH-запрос с библиотекой requests
  29. Логирование с Logzero: ротация файла
  30. Построение графиков в Matplotlib
  31. Создание веб-приложения с Flask
  32. Метод count() для списков
  33. Создание словарей и множеств в Python.
  34. Метод rlshift для битового сдвига
  35. Удаление пробелов методом translate()
  36. Преобразование строки в число
  37. Объединение словарей в Python
  38. Работа с itertools
  39. Роль object и type в Python
  40. Работа со стеком в Python
  41. Введение в PyTorch
  42. Преобразование букв в нижний регистр
  43. Метод ne для сравнения объектов
  44. Встроенные функции Python
  45. Обработка исключений в Python
  46. Обработка исключений в Python
  47. Настройка логгера Logzero

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