Рассчитав вышеописанные метрики для примера с классификатором, который всегда предсказывает класс «0» на несбалансированном наборе данных, мы получим recall,
¹² равную нулю, а precision
¹¹ не сможем рассчитать вовсе из-за обращения знаменателя в ноль.
Что не менее важно, precision
¹¹ и recall
¹² позволяют настроить классификатор на минимизацию конкретного типа ошибки. В бизнесе, как правило, разные ошибки имеют разную значимость (или стоимость). В случае с классификацией заявок ошибка FP (false positive) (в статистике её называют ошибкой первого рода) показывает, сколько раз мы предсказали, что заявка будет оплачена, в то время как в действительности заявка оказалось не оплачена. Ошибка FN (false negative) (в статистике — ошибка второго рода) говорит нам о том, сколько заявок, которые реально были оплачены, мы не сумели определить с помощью модели. Так как мы хотим сфокусироваться только на тех заявках, по которым модель прогнозирует оплату с высокой уверенностью, и для нас не критично, если модель будет часто «пропускать» заявки, которые в итоге будут оплачены, нам необходимо минимизировать ошибку первого рода при допустимом уровне ошибки второго рода. Достигнуть этого можно путем выбора такого порога классификации (значение между «0» и «1»), при котором будет достигнута оптимальная precision при сохранении recall на приемлемом уровне.
Значения метрик precision
¹¹ и recall
¹² определяются конкретным пороговым значением, но на этапе выбора и настройки модели необходимо оценивать эффективность классификатора в целом для всех пороговых значений, что позволит сравнивать между собой разные модели. Наиболее популярной такой метрикой является ROC AUC,
¹³⁻¹⁴ которая принимает значение от 0.5 (бесполезная модель) до 1.0 (идеальная модель). Таким образом, сначала мы будем использовать в качестве целевой метрики ROC AUC,
¹³⁻¹⁴ улучшая эффективность модели в целом, а затем подберем порог классификации на основе precision
¹¹ и recall.
¹²