Однако на самом деле это указывает на то, что признаки в вашем наборе данных никак не связаны с выходными параметрами. Как в этом можно убедиться? Ну, если бы вы обратились к своему исходному набору данных, полностью проигнорировали входные параметры и попытались просто угадать класс большинства для каждого прогноза («Нет»), то вы оказались бы правы в 60 % случаев! Так что алгоритм XGBoost ничем вам не помог. Метрика точности 60 % в каком-то неточна, поскольку не превышает контрольный показатель.
Подумайте о событиях, которые случаются нечасто. Например, рекламное объявление в Интернете может быть показано тысячам пользователей, но лишь несколько человек кликнут по нему. Мы бы назвали эти данные несбалансированными, поскольку слишком большую долю обучающего набора составляют объекты одного класса (большинство пользователей «не щелкнули» по объявлению). Если, например, 99,5 % людей не щелкают по объявлению, то прогноз по умолчанию, говорящий о том, что никто никогда по нему не щелкнет, окажется верным в 99,5 % случаев.
По этой причине вам не следует оценивать производительность алгоритма машинного обучения исключительно по критерию точности. Гораздо более эффективный способ оценки модели классификации – использование матрицы ошибок.
Матрица ошибок – это способ визуализации результатов модели классификации и определенного порога принятия решений. Представьте, что модель, построенная на основе алгоритма случайного леса, была обучена на 80 % данных о стажерах (240 кандидатов) и протестирована на оставшихся 20 % данных (60 кандидатов) с целью имитации процесса ее использования в реальном мире. Матрица ошибок, приведенная в табл. 10.3, демонстрирует результаты, полученные при использовании порога отсечения по умолчанию, равного 0,5. Обратите внимание на то, что сумма всех значений составляет 60, что соответствует количеству наблюдений в тестовом наборе. В этой выборке 23 кандидата получили приглашение на стажировку, а 37 – нет. Насколько хорошо алгоритм справился с классификацией этих данных?
Матрица ошибок предоставляет несколько критериев для оценки производительности модели. Обычная точность – это всего лишь один из них.
Точность = Процент верных прогнозов = (36 + 19)/60 = 91,6%
Однако точность – это не то, на чем вам стоит сосредоточивать внимание, особенно учитывая ее уязвимость к проблеме несбалансированных данных. В большинстве случаев вас, скорее всего, будет волновать то, насколько хорошо ваш алгоритм предсказывает истинно положительные и истинно отрицательные значения. Другими словами, находит ли классификатор те случаи, которые должен находить (истинные положительные), и игнорирует ли те наблюдения, которые должен игнорировать (истинно отрицательные)?
Табл. 10.3. Матрица ошибок для прогнозов модели классификации с порогом отсечения 0,5
Доля истинно положительных результатов (она же «Чувствительность» или «Отзывчивость») = Количество соискателей, приглашенных на стажировку, деленное на количество соискателей, которые должны были получить такое приглашение = 19/(19 + 4) = 83 %. Вам нужно, чтобы это значение было максимально близко к 100 %.
Доля истинно отрицательных результатов («Специфичность») = Количество соискателей, которым было отказано в приглашении на собеседование, деленное на количество соискателей, которым должно было быть в нем отказано = 36/(36 + 1) = 97 %. Это значение также должно быть максимально близко к 100 %.
Напомним, что для создания матрицы ошибок по умолчанию, как правило, используется порог отсечения 0,5. Если бы мы увеличили это значение до 0,75, то для получения приглашения соискатель должен был бы соответствовать более строгим критериям. Новая матрица показана в табл. 10.4.
Обратите внимание, как изменились показатели.