Почему Роза выжила с Титаника, а Джек нет — объяснение, данное SHAP

10 апреля 1912 года Титаник покинул Саутгемптон, затем зашел в Шербур, Франция, и Квинстаун (ныне Коб), Ирландия, и взял курс на Нью-Йорк. Через четыре дня после отплытия, 14 апреля, в 23:40 корабль столкнулся с айсбергом. Через два с половиной часа весь корабль затонул. На борту находились 2224 пассажира и экипаж, более 1500 человек погибли, что сделало эту морскую катастрофу одной из самых смертоносных в современной истории.

В фильме Титаник (1997) пассажирка 1-го класса Роуз, ее жених и мать сели в Саутгемптоне и отправились в Нью-Йорк. В то же время безденежный молодой художник Джек выиграл в покер билет 3-го класса и в последнюю минуту сел на корабль. В конце этой истории любви Роза и ее жених выживают, а Джек нет. Почему так произошло, объясним причину с помощью модели SHAP.

Модель SHAP (Shapley Additive ExPlanations) была предложена Скоттом Лундбергом, которая является мощной моделью, способной объяснить любую модель машинного обучения. Ядром модели SHAP является расчет значения SHAP. Проще говоря, значение SHAP — это вклад одной функции в один прогноз.

Мы используем титанический набор данных Kaggle, данные включают результаты выживания 891 пассажира и их личную информацию. После очистки данных мы выбираем пол, класс, стоимость проезда, возраст, размер семьи, специальное название имени и порт отправления в качестве наших характеристик. Затем мы обучаем регрессионную модель XGBoost для прогнозирования вероятности выживания пассажиров, результаты прогнозирования находятся в диапазоне от 0 до 1, 0 означает смерть, а 1 означает выживание. После завершения обучения мы используем модель SHAP, чтобы объяснить модель XGBoost и ее прогноз.

Весь демо-код находится в этом блокноте: https://www.kaggle.com/meliao/shap-on-titanic-why-is-rose-alive-but-jack-not/notebook

На приведенном выше рисунке каждая точка представляет пассажира, горизонтальная ось — значение SHAP (вклад этого признака в вероятность выживания). Цвет точки указывает значение признака по всему диапазону признаков. Например, синие точки в возрасте представляют детей, а красная точка — старшего возраста. Характеристики отсортированы сверху вниз в порядке убывания важности. На рисунке мы можем увидеть некоторые результаты, которые соответствуют интуиции, например, женщины (красные) имеют преимущество в выживании; чем выше класс, тем больше преимущество в выживании; молодые люди (синие) имеют больше преимуществ в выживании. Мы также обнаруживаем некоторые интересные явления, такие как: люди с членами семьи имеют преимущество в выживании по сравнению с одиночками, но если членов семьи слишком много, это хуже, чем в одиночку.

Затем мы изучаем перекрестное влияние двух признаков: пола и класса.

Из приведенного выше рисунка зависимости мы видим, что от первого класса к третьему как у мужчин (синие), так и у женщин (красные) преимущества выживания ослабевают, но это ослабление особенно заметно у женщин. Мы можем думать, что, поскольку уровень выживаемости самцов уже низок, влияние класса на выживание самцов не столь ощутимо. Однако выживаемость женщин гораздо выше, поэтому принадлежность женщины к третьему классу становится важным условием выживания самок. Таким образом, можно сказать, что смещение выживаемости из-за класса более выражено у самок.

Затем мы используем кластеризацию значений SHAP для каждого пассажира.

На отсортированном иерархическом рисунке мы находим нескольких особых пассажиров между двумя вертикальными оранжевыми линиями, у них низкий шанс выживания, но их значение SHAP аналогично пассажирам, имеющим высокий шанс выживания. Мы проецируем этих особых пассажиров (оранжевые точки) на показатель TSNE значений SHAP, мы также обнаруживаем, что они сгруппированы отдельно от других. Затем мы усредняем ценность их признаков и сравниваем со средними показателями других. Мы обнаруживаем, что эта группа представляет собой мальчиков третьего класса из очень больших семей. Итак, модель прогнозирования считает, что если вы находитесь в этой группе, к сожалению, у вас будет очень мало шансов выжить.

Наконец, чтобы продемонстрировать, как SHAP объясняет прогноз для отдельных случаев, мы воспроизводим личную информацию о Розе, Джеке и женихе Роуз на основе фильма «Титаник» (1997).

На приведенном выше рисунке показаны результаты прогнозирования (выходное значение) из модели XGBoost и пояснения из SHAP. Базовое значение — это общий средний шанс выживания. (Это означает прогноз, который мы можем сделать, когда нам не известны какие-либо значения признаков одного пассажира.) Красные значения признаков подталкивают прогноз в положительном направлении, а синие — в обратном.

Модель предсказывает, что Роуз выживает почти на 100%. ШАП говорит нам, что результат основан на том, что она женщина, в первом классе, у нее высокая стоимость проезда и что членов семьи несколько. И наоборот, модель XGBoost дает чрезвычайно негативный прогноз для Джека, потому что он мужчина, учится в третьем классе и ему 20 лет. Прогноз шанса на выживание жениха составляет 55%, потому что, хотя он мужчина в возрасте 24 лет, что является недостатком для выживания, его первоклассный, высокий тариф и члены семьи компенсируют эти негативные последствия.

В конце концов, у нас есть вопрос, есть ли какое-то решение, которое могло бы помочь Джеку выжить? Согласно приведенному выше исследованию, молодой возраст может увеличить шансы на выживание, поэтому мы предполагаем, что реальный возраст Джека всего 16 лет, более того, у него может быть больше шансов, и он выиграл билет 2-го класса в начале. Делаем прогноз с его новым профилем.

Мы обнаружили, что шанс выживания Джека увеличился до 18%, хотя это все еще очень низкая вероятность, шанс выживания с новым профилем уже в 3 раза выше исходного.