Курс 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. ChainMap.new_child() — добавление нового словаря
  4. Регистрация на хакатоне
  5. Декоратор проверки активности
  6. Форматирование данных с помощью pprint
  7. Работа с модулем cmath
  8. Python Метод del.
  9. Обратный список чисел
  10. Срез в Python
  11. Работа со строками
  12. Замена текста с помощью sub
  13. inspect в Python: анализ кода
  14. Добавление элементов в список
  15. Аннотации типов в Python
  16. Работа с датой и временем в Python
  17. Метод get для словаря
  18. Проверка условий в Python
  19. Удаление символов новой строки в Python.
  20. Оператор in для проверки наличия элемента
  21. Работа с датами в Python
  22. Генераторы в Python
  23. Фильтрация последовательности
  24. Декораторы классов
  25. Применение функции map() в Python
  26. Декоратор total_ordering для класса Point
  27. Работа с NumPy массивами
  28. Вложенные функции в Python
  29. Обработка аргументов Python
  30. Лямбда-функции в Python
  31. Работа с географическими данными в Python
  32. Оператор объединения словарей
  33. Анализ кода — Python
  34. Обработка исключений в Python
  35. Оператор in для Python
  36. Изменяемые и неизменяемые объекты
  37. None в Python: использование и особенности
  38. Просмотр файла в Jupyter Noteboo
  39. Использование метода lower()
  40. Применение промокода в Много лосося
  41. Работа с словарями в Python
  42. Печать месячного календаря
  43. Именованные срезы в Python
  44. Разделение строк в Python
  45. Конкатенация списков в Python
  46. Оценка выражений генератора в Python
  47. Обработка ошибок в Python
  48. Работа с базами данных SQLite
  49. Основы работы со списками

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