Курс 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. Поиск индекса элемента в списке
  2. Функции all() и any() в Python
  3. Реверс строки и списка в Python.
  4. Работа с каталогами в Python
  5. Управление импортом в Python
  6. Транспонирование 2D-массива с помощью zip
  7. Создание списка через итерацию
  8. Манипуляция формой массива в Numpy
  9. Сортировка HTML по CSS-селектору
  10. Именованные кортежи в Python
  11. Howdoi — получение ответов из терминала
  12. Функции-генераторы в Python
  13. Переопределение метода delitem в Python
  14. Оптимизация методов в Python 3.7
  15. Символ подчеркивания в Python
  16. Генераторы по генератору
  17. Расчет времени выполнения кода
  18. Создание копии итератора
  19. Поиск частых элементов в списке
  20. Создание тестовых данных с Faker
  21. Генератор данных в Keras
  22. Получение текущей директории
  23. Асинхронный код в Python
  24. Работа с GitHub в Telegram
  25. Функции высшего порядка в Python
  26. Подсчет элементов с помощью Counter
  27. Метод сравнения объектов в Python
  28. Сравнение строк в Python
  29. Удаление элемента по индексу в Python
  30. Руководство по Pymorphy2
  31. Подсчет вхождений элементов
  32. F-строки в Python 3.8
  33. Принципы Zen of Python
  34. Создание матрицы в Python
  35. Оптимизация строк в Python
  36. Обрезка изображения с Pillow
  37. Создание файла с проверкой ошибки
  38. Обработка ошибок в JSON данных
  39. Проблемы с dict в Python
  40. Метод join() для объединения элементов
  41. Python union() функция — объединение множеств
  42. Атрибуты объекта в Python
  43. Конвертация коллекций в Python
  44. Комментарии в Python
  45. Функции в Python
  46. Работа с кортежами в Python
  47. Открытие, чтение и закрытие файла

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