Задачи регрессии
Задачи регрессии — это задачи машинного обучения при использовании числового целевого столбца. В следующем примере показано, как четко сформулировать бизнес-задачу, а затем собрать набор данных для обучения, в котором все признаки будут равноценны. Он предлагает хорошую основу для создания прогнозной регрессионной модели.
Пример задачи регрессии: пожизненная ценность клиента
Для начала предположим, что после обучения на исторических данных клиентов модель машинного обучения обучится прогнозировать пожизненную ценность клиента с помощью нескольких признаков, которые оказывают влияние на результат прогнозирования. Для этого мы собираем набор данных с историческими сведениями обо всех прошлых и текущих клиентах. Каждому клиенту соответствует одна строка, а в столбцах представлены признаки, описывающие клиента: ИД клиента, пол, возраст, дата, когда он стал клиентом, почтовый индекс, количество совершенных покупок и общая сумма покупок.
Пожизненную ценность клиента можно определить как общую сумму покупок. Собранные данные передаются алгоритму машинного обучения, чтобы он научился прогнозировать общую сумму покупок. По мере появления новых клиентов в будущем этот обученный алгоритм можно будет использовать для прогнозирования того, какую сумму они принесут компании в течение всего жизненного цикла клиента. Однако при таком подходе существует ряд проблем.
-
Набор данных может включать людей, которые были клиентами в течение одного дня, одного месяца или одного года. Значение общей суммы покупок отражает не то, сколько клиент потратит, а то, сколько он потратил на данный момент.
-
Клиент, чья учетная запись существует один день, возможно, станет клиентом с высокой пожизненной ценностью. Но поскольку он стал клиентом только вчера, он совершил всего одну покупку и не потратил много денег. Если включить такого клиента в набор данных для обучения, после обучения алгоритм машинного обучения будет ошибочно считать его клиентом, который не приносит много денег.
-
Допустим, у нас появился новый клиент, который в первый месяц заказывал товары три раза в неделю, в общей сложности он сделал 12 покупок. Другой клиент, который совершал покупку раз в месяц в течение одного года, возможно, потратил такую же сумму денег. Алгоритм машинного обучения будет считать этих двух клиентов равноценными с точки зрения пожизненной ценности клиента, тогда как на самом деле клиент, который сделал много покупок в первый месяц, может быть значительно более ценным в долгосрочной перспективе.
Чтобы избежать этих проблем, необходимо четко сформулировать задачу для определения пожизненной ценности клиента и подготовить подходящий набор данных для решения этой задачи. Для этого рекомендуется включить фактор времени в формулировку задачи.
Включение фактора времени
Чтобы включить фактор времени, сначала определим сумму покупок за первый год как общую сумму денег, потраченных клиентом в его первый год обслуживания в компании. После этого можно использовать поведение клиента в течение первых трех месяцев в качестве признаков, чтобы спрогнозировать общую сумму его покупок в течение первого года. Сумма покупок за первый год — это точное определение представляющей интерес метрики, которое включает в себя интервал времени. Преимущество создания такой точной метрики заключается в том, что она делает все примеры из нашего набора данных для обучения равноценными.
Обратите внимание, что поскольку сейчас рассматривается общая сумма денег, потраченных клиентами в течение их первого года обслуживания в компании, необходимо ограничить набор данных для обучения и включить в него только тех, кто является клиентом компании не менее одного года. Набор данных можно представить следующим образом:
В этой таблице каждая строка представляет человека, который является клиентом компании не менее одного года. Столбцы включают признаки, описывающие человека в момент, когда он стал клиентом, а также признаки, отражающие его активность в течение выбранного интервала времени.
Активность измеряется количеством покупок, совершенных за первые три месяца, и общей суммой покупок за первые три месяца. Целевой столбец показывает общую сумму денег, потраченных в первый год. Это и есть сумма покупок за первый год, и мы должны научить алгоритм машинного обучения прогнозировать ее.
Обратите внимание, как четко теперь сформулирована задача с определенным интервалом времени: «Спрогнозировать, сколько денег принесет клиент компании в течение первого года, основываясь на его поведении в течение первых трех месяцев».