Курс 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. Создание и использование ChainMap
  2. Импорт в Python: список all
  3. Улучшение читаемости кода в Python
  4. Функции в одну строку
  5. Структурирование данных с Pydantic
  6. Concrete Paths — метод .with_suffix()
  7. Оператор walrus в Python
  8. Docstring в Python
  9. Анализ текста на русском языке с помощью Pymystem3
  10. Операция += для списков
  11. Инвертирование словаря
  12. Сортировка и обратный порядок
  13. Приоритет операций в Python
  14. Удаление ключей из словаря
  15. Получение атрибутов и методов класса
  16. split() — разделение строки
  17. Работа с файлами в Python
  18. Лимиты на ресурсы Python
  19. Python union() функция — объединение множеств
  20. Работа с множествами в Python
  21. Вывод баннеров
  22. Проверка версии Python
  23. Поиск уникальных и повторяющихся элементов
  24. Работа с deque из collections
  25. Создание Radio кнопок в tkinter
  26. Создание новых списков
  27. Функции с дополнением
  28. Работа с каталогами в Python
  29. Роль object и type в Python
  30. Сериализация объектов в Python
  31. Хеширование паролей с солью
  32. Декоратор Ajax required
  33. Метод __call__ в Python
  34. Генераторы в Python
  35. Работа с функцией next() в Python
  36. Установка и использование Python-dateutil
  37. Импорт модулей и пакетов в Python
  38. Импорт и использование модулей в Python
  39. Сохранение и загрузка модели в PyTorch
  40. Метод get для словаря
  41. Объединение итераторов
  42. Структуры данных в Python
  43. Работа с буфером обмена на Python
  44. Частичное применение функций в Python
  45. Условные выражения в Python

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