Курс 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. Настройка вывода в Numpy
  2. Обработка ошибок в Python
  3. Повторение элементов в Python
  4. Извлечение аудио из видео
  5. Аннотации типов в Python
  6. Функция enumerate() — Python
  7. Цикл for в Python
  8. Реализация метода __abs__ в Python
  9. Замена текста с помощью sub
  10. Делегирование в Python
  11. Перевод двоичного кода в целое число
  12. Переопределение метода delitem в Python
  13. Список методов и атрибутов
  14. Lambda Functions in Python
  15. Заказ карты Тинькофф Black
  16. Генераторы в Python
  17. Лямбда-функции для min/max
  18. Изменение переменной в Python: nonlocal
  19. Переворот списка в Python
  20. Ветвление выражения в Python
  21. Тестирование модели в PyTorch
  22. Поиск с библиотекой Google
  23. Удаление пробелов методом translate()
  24. Отправка POST запроса на сервер.
  25. Удаление элемента по индексу в Python
  26. Необязательные аргументы в Python
  27. Создание коллекций из генератора
  28. Группировка элементов в словарь
  29. Проверка кортежей.
  30. Метод count в Python: почему count(», ») возвращает 4?
  31. Создание новых функций с помощью functools.partial
  32. Поиск индексов подстроки
  33. Поиск индекса элемента
  34. Выборка чисел
  35. Возврат нескольких значений из функции
  36. Получение размера объекта с sys.getsizeof()
  37. Операторы увеличения и уменьшения переменной
  38. Создание списков в Python
  39. Аннотации типов в Python
  40. Форматирование строк в Python
  41. Работа с комплексными числами
  42. Удаление дубликатов в pandas
  43. Списковое включение в Python
  44. Анонимные функции Lambda
  45. Сравнение строк в Python
  46. Тестирование с responses

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