Курс 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. Функции all и any в Python
  3. Определение локальных переменных в Python
  4. Транспонирование матрицы
  5. Профилирование данных с Pandas.
  6. Округление дробей в Python
  7. Поиск файлов по шаблону
  8. Метод __iand__ для пользовательских классов
  9. Основные функции и модули Python
  10. Progress с библиотекой tqdm
  11. Поиск самого частого элемента
  12. Фильтрация последовательности
  13. Разделение строк в Python
  14. Получение списка файлов в директории с использованием os
  15. GitHub в Telegram: подписка на уведомления
  16. Функция zip() в Python
  17. ChainMap.new_child() — добавление нового словаря
  18. Python: Фильтрация списков с помощью filter()
  19. Python Ellipsis использование
  20. Ограничение ресурсов в Python
  21. Оператор «or» в Python
  22. Управление виртуальными окружениями в Python
  23. Работа с областями видимости переменных
  24. Объединение словарей в Python
  25. Установка и использование Logzero
  26. Функция map() и ленивая оценка
  27. Concrete Paths в Python
  28. Конкатенация списков в Python
  29. Обход словаря в Python
  30. Карта бомбоубежищ в Москве и Питере
  31. Создание и удаление объектов
  32. Создание графиков в терминале
  33. Мониторинг работы программы Py-spy
  34. Создание OrderedDict
  35. Метод rrshift для пользовательских объектов
  36. Объединение списков в строку
  37. Частичное совпадение пользовательского ввода в Python 3.10
  38. Преобразование чисел в слова
  39. Сложные типы данных в Python
  40. Установка и использование модуля «howdoi»
  41. Метод bool() в Python
  42. Создание новых списков в Python
  43. Генератор списка в Python

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