Прогноз — оценка на основе данных и предположений, а не обещание результата. Классификация наблюдения и прогноз будущего значения — разные задачи.
Определить предмет оценки
Укажите совокупность, целевую переменную, горизонт и предполагаемое решение. Оценочный балл не обязательно является хорошо откалиброванной вероятностью. Выделите независимые данные для проверки; не используйте их для обучения, настройки предобработки или выбора модели.
Изучать ошибки, а не только процент
В вымышленном примере ниже порог фиксирован: выявлено 80 из 200 фактически положительных случаев, пропущено 120. Поэтому 86 % правильных классификаций не означает, что обнаружено большинство положительных случаев.
| Фактический результат | Положительный прогноз | Отрицательный прогноз |
|---|---|---|
| Фактически положительный | 80 | 120 |
| Фактически отрицательный | 20 | 780 |
| Метрика | Расчёт | Значение |
|---|---|---|
| Точность (precision) | 80 / (80 + 20) | 80 % |
| Полнота (recall) | 80 / (80 + 120) | 40 % |
| Доля верных классификаций (accuracy) | (80 + 780) / 1000 | 86 % |
Выбирать порог с учётом последствий
Точность precision — доля истинно положительных среди положительных прогнозов; полнота recall — доля выявленных среди всех фактически положительных. Изменение порога может менять обе метрики. Сравнивайте одну совокупность и учитывайте стоимость ложных тревог и пропусков.
Источники и проверка
- Google — Classification: Accuracy, recall, precision
- scikit-learn — Probability calibration
- scikit-learn — Common pitfalls
Проверяйте прогнозы в их оперативном временном порядке.
Оперативное прогнозирование должно использовать только информацию, доступную на момент принятия решения. Случайное разделение может быть непригодно для временных рядов. Моделируйте последовательные периоды, сохраняйте версии функций и сравнивайте с простым базовым вариантом, прежде чем заявлять о возможности прогнозирования.
- Исключите признаки, известные только после получения результата.
- Проведите оценку за период, более поздний, чем период обучения.
- Измеряйте ошибки по горизонту прогнозирования.
Почему отличные результаты тестирования могут ухудшиться позже?
Утечка информации, изменения в популяции или временной дрейф могут повлиять на результаты. Воспроизведите условия доступности данных и отслеживайте ошибки после развертывания.
Первичный источник: scikit-learn — Cross-validation. Связанный метод: прочитать практическое руководство.
