Курс 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. Хранение переменных в словаре.
  3. Форматирование строк в Python
  4. Enum в Python: создание и использование перечислений
  5. Разделение строки с помощью re.split()
  6. Операции с датами в Python
  7. Атрибуты объекта в Python
  8. Документация функции help() в Python
  9. globals и locals
  10. Считывание бинарного файла в Python
  11. Раздувающийся словарь в Python
  12. Работа с кортежами в Python
  13. Форматирование вывода с F-строками
  14. Аннотации типов в Python
  15. Изменение элемента списка
  16. Получение срезов итераторов
  17. Получение значений из словарей
  18. Функция pow() — возвести число в степень
  19. Комментарии в Python
  20. Конкатенация строк с join() в Python
  21. Метод rmatmul для обратного матричного умножения
  22. Работа с YAML в Python
  23. Многострочные комментарии в Python
  24. Метод Self в Python
  25. Упрощенный вывод данных в Python
  26. Множественные конструкторы в Python
  27. Профилирование с cProfile
  28. Измерение потребления памяти при сортировке
  29. Нахождение пересечения множеств
  30. Метод repr() в Python
  31. Создание списков в Python
  32. Подсчет вхождений элементов
  33. Методы в Python
  34. Настройка нарезки списков
  35. Возвращение нескольких значений
  36. Форматирование данных с помощью pprint
  37. Функция product() из itertools
  38. Работа с пакетами
  39. Установка и использование pyshorteners
  40. ChainMap.new_child() — добавление нового словаря
  41. Перевод текста с Python Translator
  42. Функции высшего порядка в Python
  43. Метод rmatmul для пользовательских матриц
  44. Принципы SRP и OCP

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