Курс 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. Операции со строками в Python
  2. Namedtuple в Python
  3. Введение в PyTorch
  4. Оператор распаковки в Python
  5. IPython и Jupyter Notebook: руководство
  6. Делегирование в Python
  7. Импорт модулей в Python 3.12
  8. Метод setdefault() в Python
  9. Операции с комплексными числами
  10. Визуализация пропусков данных
  11. Избегайте пустого списка
  12. Установка и использование модуля «howdoi»
  13. Настройка нарезки списков
  14. Управление контекстом выполнения кода
  15. Bootle — простой веб-фреймворк
  16. Протокол управления контекстом
  17. Добавление кнопки в tkinter
  18. Декораторы в Python
  19. Работа со строками в Python
  20. Генераторные функции в Python
  21. Избегайте изменяемых аргументов
  22. Метод __float__ в Python
  23. Метод setdefault() в Python
  24. Особенности запятых в Python
  25. Область видимости переменных в Python
  26. Модуль future Python
  27. Методы classmethod и staticmethod
  28. Замена элементов в списке с помощью генераторов списков
  29. Оператор объединения словарей
  30. Проблема с изменяемыми аргументами
  31. Отрицательные индексы списков в Python
  32. Создание директории в Python
  33. Проекты на Python
  34. Очистка вывода в Python
  35. Обработка исключений в Python
  36. Преобразование списка в словарь через генератор
  37. Измерение времени выполнения кода
  38. Python enumerate() функции
  39. Создание даты из строки ISO
  40. Функция rsplit() в Python
  41. Аннотации типов в Python
  42. Цикл for с enumerate() в Python
  43. Распаковка элементов последовательности
  44. Возврат нескольких значений из функции

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