Иногда после проведения исследования или анализа отзывов ваших клиентов непонятно, что делать со всей этой информацией. Чтобы проанализировать большие массивы данных, можно воспользоваться SHAP-моделью. В этой статье мы рассказываем максимально простым языком, как использовать этот инструмент, чтобы понять реальные предпочтения ваших клиентов. Но чтобы реализовать SHAP-модель, вам, скорее всего, понадобится программист.
SHAP расшифровывается как SHapley Additive exPlanations. Этот метод помогает разбить на части прогноз, чтобы выявить значение каждого признака. В его основе лежит вектор Шепли, который, в свою очередь, родом из теории игр.
Получается, что с помощью значения Шелли выявляются все возможные комбинации и варианты, а проанализировав данные, вы сможете выявить, какие факторы на самом деле важны при выборе.
Например, мы хотим предположить, понравятся ли нашему клиенту компьютерные игры. И для простоты возьмём два фактора: возраст и пол. Мы рассчитываем по формуле и понимаем, что сочетание обоих факторов будет намного важнее, чем отсутствие хотя бы одного из них.
Математическая модель показывает нам значение всех факторов. Практическая реализация этого подхода представляет собой специальную библиотеку SHAP (SHapley Additive exPlanations), которая поддерживается для моделей типа «ансамбль деревьев» в XGBoost, LightGBM, CatBoost, Scikit-learn и PySpark. Как и любую библиотеку Python, установить SHAP очень просто: достаточно лишь написать командной строке pip install shap.
Получается, вам не надо будет самостоятельно забивать все данные и анализировать их вручную. За вас это сделает программа, написанная на Python. Собственно, в этом вам и понадобятся знания программиста.
Вы можете использовать SHAP-модель для анализа мнения ваших клиентов, для понимания сотрудников и для выявления ключевых причин совершения сделки. Мы сейчас рассмотрим, как SHAP-модель показывает ключевые причины увольнения человека.
shap_test = shap.TreeExplainer(best_model).shap_values(df)
shap.summary_plot(shap_test, df,
max_display=25, auto_size_plot=True)
На графике видно, что чем больше точек, тем чаще отмечали эту причину как основную, и чем краснее точки на графике, тем важнее этот фактор.
Какие выводы можно сделать по этому графику? Чем реже сотруднику повышают зарплату, тем больше вероятность, что он уйдёт. Чем моложе человек, тем проще ему уволиться.