Курс 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. Проверка типов с помощью isinstance
  2. Комментарии в Python.
  3. Установка и обучение ChatterBot
  4. Поиск с помощью регулярных выражений
  5. Декодирование строк в Python
  6. Форматирование строк с помощью f-строк
  7. Генератор чисел Фибоначчи
  8. Импорт классов из другого файла
  9. Перевернуть список в Python
  10. Работа с YAML в Python: PyYAML.
  11. Методы работы со строками в Python
  12. Создание и инициализация объектов
  13. Оператор break в Python
  14. Бесконечные списки в Python
  15. Делегирование в Python
  16. Фильтрация входных данных в Python
  17. GitHub в Telegram: подписка на уведомления
  18. Работа с множествами в Python
  19. Метод rrshift для пользовательских объектов
  20. Преобразование букв в нижний регистр
  21. Измерение времени выполнения кода
  22. Применение функции к каждому элементу списка
  23. Использование super() в Python
  24. Генераторы в Python
  25. Преобразование чисел в слова
  26. Пропуск строк в файле с itertools
  27. Форматирование даты с strftime()
  28. Метод split() в Python
  29. Оформление кода на Python
  30. Оператор «and» в Python
  31. Просмотр файла в Jupyter Noteboo
  32. Форматирование данных с помощью pprint
  33. Декораторы в Python
  34. Получение текущей директории
  35. Удаление элементов из списка в Python
  36. Перезагрузка оператора в Python
  37. Модуль array: создание и использование массивов
  38. Игра «Камень, ножницы, бумага» — Python
  39. Перемешивание списка с shuffle()
  40. Работа с прокси в Python
  41. Декораторы для регистрации функций
  42. Основные операции с библиотекой Numpy
  43. Оптимизация создания строк
  44. Управление ресурсами в Python

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