Сегодня я хотел бы рассказать вам о том, что такое моделирование аплифта. И на небольшом примере расскажите, как работает простая модель дерева поднятия.

Бизнес-задача

Хотим выбрать оффер для пользователя (или не делать) — Next Best Offer. Например:

Какую скидку дать клиенту?
Какую категорию товаров лучше предложить клиенту?

Все объекты можно разделить на 4 части, как это представлено в матрице. Допустим, мы хотим увеличить количество продаж и можем давать или не давать скидку. Есть те, кто все равно купит. Этой группе, вероятно, не следует давать скидку. Следующая группа, самая интересная, — это те, кто купит только при обнаружении. Остальные 2 группы — это те, кто не будет покупать как с экспозицией, так и без нее.

задача машинного обучения

Что такое подъем?

uplift — изменение целевой переменной при условии W, запишем формулу:

И наша задача - сделать такое предложение, чтобы максимизировать подъем

Дерево поднятия — это модель, которая может прогнозировать поднятие подобно обычному дереву. Конечно, мы можем построить случайный лес uplift. Вы можете найти реализацию здесь. Этот пакет сделал Uber. Causal ML – это пакет Python, предоставляющий набор методов моделирования подъема и причинно-следственных связей с использованием алгоритмов машинного обучения

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

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

усиление = |uplift_leave1 — uplift_leave2| -> Макс,

uplift_leave = среднее (Y (W = 1)) - среднее (Y (W = 1))

Остальная реализация вам уже знакома. Нам нужно выбрать лучший признак для разделения и лучший порог.

_get_thresholds создает массив возможных порогов. _best_split найти лучшую функцию и порог по _gain.

Весь код реализации UpliftTreeRegressor показан ниже. Спасибо за чтение. Мой гитхаб)