Инсайт ML, о котором вы не знали

Обзор

Значения Шепли — широко используемая концепция в машинном обучении, особенно в области объяснимого искусственного интеллекта (XAI). Они обеспечивают способ справедливого распределения вклада каждой функции в результат прогноза, сделанного моделью машинного обучения. Основное преимущество значений Шепли заключается в том, что они предлагают математически строгий способ понять и объяснить прогнозы моделей.

В контексте машинного обучения значение Шепли для конкретной функции представляет собой средний вклад этой функции в прогнозы модели с учетом всех возможных комбинаций функций. Идея состоит в том, чтобы оценить влияние включения или исключения функции на выходные данные модели с учетом ее взаимодействия с другими функциями. Давайте рассмотрим пример для одного прогноза:

Вы можете видеть слева, что прогноз нашей модели составил 20,23%. Значения Shapely позволяют нам разложить этот прогноз на предельные эффекты. В этом случае функции, выделенные синим цветом, уменьшают прогноз, а функции, выделенные красным цветом, увеличивают наш прогноз.

Это позволяет нам количественно оценить важность каждой функции честным и последовательным образом, поскольку значения Шепли всегда суммируются с общим значением прогноза за вычетом среднего прогноза для набора данных.

Значения Shapely часто рассчитываются во время прогнозирования, чтобы добавить дополнительный контекст или «объяснить» прогнозы модели во время вывода (поэтому их часто называют объяснениями прогнозов). Знание того, почему балл относительно высокий или низкий, может быть невероятно полезным при принятии решений. Это заставило меня задуматься, есть ли другие полезные способы использования этих значений?

Стройные ценности с течением времени

Я уже изучил, как вы можете сгруппировать значения Shapely по функциям, чтобы получить диаграммы влияния функций, как они могут улучшить диаграммы подъема и как вы можете визуализировать их в таблице по нескольким наблюдениям. Но что, если мы объединим наши значения Shapely как по периодам времени, так и по характеристикам?

Под этим я подразумеваю, что если мы сгруппируем эти значения по клиентам за каждый месяц, квартал или год, а затем отобразим их во времени? Оказывается, это будет выглядеть примерно так:

Для контекста, это тот же набор данных, который я использовал в этом посте о построении моделей оттока клиентов. На этой диаграмме происходит много всего, поэтому давайте разберем ее:

  • Сплошная черная линия отображает средний прогноз оттока по всем нашим клиентам за каждый месяц. Это просто средний прогноз, сгруппированный по месяцам.
  • Сложенные столбцы — это наши агрегированные значения Shapely. Точно так же, как значения Shapely на уровне строки показывают, как различные функции влияют на один прогноз, эти сложенные столбцы показывают, как различные функции влияют на наши средние прогнозы каждый месяц.

Вы можете видеть, что со временем наша ожидаемая скорость оттока увеличивается примерно с 32 процентов до более чем 44 процентов. Почему это? Что изменилось в нашей клиентской базе? Как правило, это каверзные вопросы. К счастью, мы можем посмотреть на наши агрегированные объяснения прогнозов, чтобы добраться до сути.

Сразу видно, что фиолетовые полосы стали больше, а зеленые — меньше. Эти столбцы представляют собой агрегированные значения Shapely для общего использования продукта за последние 180 дней и количество уникальных продуктов, приобретенных за последние пять лет. Эта диаграмма говорит нам о том, что эти две функции непропорционально ответственны за повышение наших общих прогнозов оттока за последний год.

Это имеет смысл, учитывая, что в последнем квартале средний показатель использования продукта клиентом составлял 9, тогда как в начале 2020 года он составлял 13. Неудивительно, что наша модель уловила тот факт, что более низкое использование, вероятно, приведет к увеличению оттока.

Хотя зачем останавливаться здесь? Поскольку мы узнали, что использование продукта и общее количество приобретенных уникальных продуктов были двумя основными факторами, влияющими на наш ожидаемый отток, мы можем построить их во времени, чтобы лучше понять, что изменилось. Начнем с купленных продуктов:

На самой правой панели видно, что меньше клиентов приобрели пакет Business Essentials, а больше — корпоративный пакет. Эти изменения являются частью нашего прогноза резкого оттока.

Мы также можем взглянуть на использование продукта:

Общее ощущение использования продукта с почти 2,5 действий в месяц до примерно 1. Это хорошо совпадает с увеличением значений Shapely, которые мы видели на нашей исходной диаграмме (фиолетовые столбцы).

В следующий раз, когда вы будете работать над интерпретацией своего машинного обучения или объяснением тенденции в своих прогнозах, обязательно помните значения Shapely!

Перейдите здесь, чтобы увидеть код, и подпишитесь на меня в Medium и LinkedIn, чтобы получить дополнительные полезные советы по науке о данных. Спасибо за прочтение!