Курс 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. Удаление дубликатов из списка с помощью dict.fromkeys
  2. Enum в Python
  3. Показ всплывающих окон Tkinter
  4. Создание множества в Python
  5. Функции высшего порядка в Python
  6. Явный импорт переменных
  7. Объединение кортежей в Python
  8. Функция zip() в Python
  9. Оптимизация гиперпараметров с Scikit Optimize
  10. Отладка в Python
  11. Копирование и вставка текста в Python
  12. Метод lt для сортировки объектов
  13. Поиск частых элементов в списке
  14. Раздувающийся словарь в Python
  15. Наследование в программировании
  16. Сравнение def и lambda-функций
  17. Аннотации типов в Python
  18. Конвертация текстовых чисел с помощью Numerizer
  19. Работа со словарями с defaultdict из collections
  20. Проверка условий: all и any
  21. Ограничение ресурсов в Python
  22. Возвращение нескольких значений
  23. Новшества Flask 2.0
  24. Генераторы в Python
  25. Преобразование документов в PDF с помощью Spire.Office
  26. Логический оператор «and» в Python
  27. Работа с эмодзи в Python
  28. Проверка переменных окружения в Python
  29. Работа со слайсами
  30. Работа с датой и временем в Python
  31. Изменяемые и неизменяемые объекты
  32. Исправление ошибки NameError
  33. Транспонирование 2D-массива с помощью zip
  34. split() — разделение строки
  35. Условные выражения в Python
  36. Работа с комплексными числами
  37. Проблемы с именами переменных
  38. Проблемы с dict в Python
  39. Работа с Requests для HTTP-запросов
  40. Частичное применение функций в Python
  41. Метод split() в Python
  42. Срезы в Numpy
  43. Оптимизация памяти в Python
  44. Создание коллекций из выражения-генератора

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