Курс 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. Разделение строк в Python
  3. Лямбда-функции в Python
  4. Генерация фальшивых данных с Faker
  5. Получение списка кортежей из словаря
  6. Форматирование строк в Python.
  7. Проблема сравнения словарей
  8. Разделение строки на пары ключ-значение.
  9. Оператор «моржа» (Walrus Operator)
  10. Сортировка с помощью key
  11. Множественное присваивание в Python
  12. Создание пар из последовательностей
  13. Множества и frozenset
  14. Оператор деления для класса Rational
  15. Работа с collections в Python
  16. Конвертация коллекций в Python
  17. Создание класса в Python
  18. Импорт и использование модулей в Python
  19. Принципы Zen Python
  20. Логирование с Logzero
  21. Python 3.12: переиспользование кавычек
  22. Метод index() в Python
  23. Ускорение кода с помощью векторизации
  24. Делегирование в Python
  25. Метод setdefault() в Python
  26. Именованные кортежи в Python
  27. Функции min(), max(), sum()
  28. Работа с GitHub в Telegram
  29. Генераторные функции в Python
  30. Объединение словарей в Python
  31. Создание копии итератора
  32. Работа со словарями в Python
  33. Нарезка списков в Python
  34. Оператор @ для умножения матриц
  35. Регистрация на курсы SF Education
  36. Возврат нескольких значений
  37. Настройка вывода в Numpy
  38. Python itertools combinations() — группировка элементов
  39. Глобальные переменные в Python
  40. Модуль inspect: получение информации о объектах
  41. Удаление пробелов методом translate()
  42. Выбор редактора кода.
  43. Модуль array: создание и использование массивов
  44. Отладка утечек памяти в Python
  45. Проблемы с dict в Python

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