На четвёртом этапе решения задач ML возникает вопрос какие же бывают виды тестирования моделей и что каждая из них представляет. Давайте кратко ознакомимся с видами тестирования.
Стандартные способы
Unit-тесты.
С помощью unit-тестов мы можем тестировать отдельные модули кода. Для каждой функции/метода пишется свой тест. Протестировать работоспособность модели значит выбрать подходящую архитектуру и взять готовые хорошие данные, убедиться, что полученные данные соответствую вашим требованиям.
Интеграционный тест.
Интеграционные тесты вступаю в работу после unit-тестов. Здесь проверяется взаимодействие между единицами функциональности. Другими словами это процесс обработки данных и обучения модели.
Нагрузочный тест.
Тестируем производительность. Собираем показатели и определяем производительность, время отклика системы/устройства на внешний запрос. Помогает найти слабые места в pipeline. Нагрузочный тест нужен для того, что выяснить какую часть pipeline оптимизировать.
Способы специфичные для ML
Валидация модели.
Используя такой тест мы известные правильные ответы и сравниваем с предсказанными моделью данными. Валидацию можно использовать как во время обучения, так и после. Тест нужен для понимания - а работает ли вообще модель.
Проверка данных.
Зачастую случается так, что данные которые нам дают и данные которые отправляем модели для обучения разнятся. Это связанно с тем, что перед подачей данных на вход программе, мы делаем предобработку данных, иногда исходные данные могут нам не подходить. Поэтому полезно проверять входные данные. Если данные на входе будут плохие, то и результат будет ошибочным.
P.S. Если, нашли ошибки, недочёты или хотите дополнить сказанное, всегда рада конструктивному мнению специалистов.