Светлана Кумари, команда ИИ

Модели машинного обучения часто рассматриваются как «черные ящики», что затрудняет их анализ. Нам нужны алгоритмы объяснимого машинного обучения, которые раскрывают некоторые из этих качеств, чтобы понять, какие ключевые функции влияют на выходные данные модели.

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

Подход SHAP (Shapely Additive Explanations) — один из этих методов, который объясняет, как каждая функция влияет на модель, и позволяет проводить локальный и глобальный анализ для данного набора данных и проблемы.

Реализация SHAP:

Мы должны обучить нашу модель перед использованием SHAP. Возьмите набор данных и обучите любую модель, например CatBoost Regressor. Мы должны создать объект объяснителя и использовать его для оценки выборки или всего набора данных, чтобы рассчитать значения SHAP для модели. Для каждой функции в нашей модели у нас будет одно значение SHAP для каждого наблюдения.

Графики SHAP:

Значения SHAP можно увидеть с помощью некоторых замечательных инструментов в библиотеке Shap. Давайте посмотрим на некоторые из графиков ниже.

1. Сюжет водопада:

Цвет каждой стрелки на этом графике указывает, оказывает ли тот или иной фактор положительное (красный) или отрицательное (синее) влияние на прогноз. Абсолютное значение SHAP связанного свойства каждой стрелки определяет ее длину. Над стрелкой написано значение SHAP, а по вертикальной оси также написано значение соответствующего признака (например, на графике выше значение признака LSTAT равно 4,98, а его значение SHAP равно 4,64). Стрелка красная и указывает вправо, если значение SHAP положительное. Когда значение SHAP отрицательное, оно становится синим и перемещается влево. Наконец, следуя этим стрелкам, мы приходим к значению предсказания модели f(x)=24,019. Объект с самым высоким абсолютным значением SHAP помещается вверху, потому что объекты упорядочены по их абсолютным значениям SHAP.

2. Принудительный сюжет:

Подобно графику водопада, график силы вместо этого имеет горизонтальные стрелки. В зависимости от их длины красные и синие стрелки расположены так, что красные стрелки становятся длиннее слева направо, а синие — справа налево. За каждой соответствующей стрелкой указано значение связанной функции, а не ее значение SHAP.

3. Бар Сюжет:

Значения SHAP также можно показать с помощью гистограммы. Длина каждого столбца отражает абсолютное значение SHAP соответствующего признака. Значения SHAP записываются рядом с каждой полосой, а полоса окрашена в красный/синий цвет для положительных/отрицательных значений SHAP. Функции расположены в порядке возрастания их абсолютных значений SHAP.

С гистограммой мы также можем использовать несколько экземпляров. Затем он усреднит абсолютные значения SHAP по всем экземплярам и упорядочит функции соответствующим образом. Рядом с полосами также отображается среднее значение абсолютных значений SHAP.

4. Сюжет пчелиного роя:

График пчелиного роя напоминает гистограмму, но вместо столбцов для каждого значения SHAP есть точки. Местоположение каждой точки x указывает значение SHAP для связанной функции. Значение соответствующего атрибута определяет цвет точек. Экземпляр с большим значением для каждой функции окрашен в красный цвет, тогда как другой экземпляр — в синий. Признаки расположены в соответствии со средними значениями SHAP.

В этой статье мы рассмотрели применение библиотеки SHAP и ее популярные сюжеты. Графики SHAP могут помочь пользователю визуально понять важность и влияние функции. Таким образом, SHAP — полезный инструмент для объяснения и визуализации машинного обучения, которое обычно было «черным ящиком».