Использование машинного обучения для создания модели принятия поездок для Uber
С последним обновлением теперь Uber показывает водителям места назначения, прежде чем они решат принять поездку, чтобы они могли сделать осознанный выбор. Скорее всего, вам не придется платить Uber за отмену поездки, и водитель вряд ли отменит поездку.
Вещь, которую теперь можно изменить отсюда, всегда было трудно предсказать, отменит ли водитель поездку или нет, поскольку разговор между пользователем и водителем раньше велся по телефону. Поскольку водитель теперь более информирован о местоположении посадки и высадки пользователя и получает отдельное вознаграждение за пройденное расстояние, чтобы забрать пользователя, теперь акцент смещается с отмены на водителя, принимающего поездку.
Давайте разберемся с точки зрения науки о данных (машинного обучения), что происходит за кулисами, чтобы сопоставить запросы пользователей с водителем, чья вероятность принять поездку высока, и выполнить ваш запрос в минимально возможное время.
Алгоритм сопоставления
Таким образом, чтобы найти лучших водителей такси для вас — в течение нескольких секунд; эти компании по вызову такси (Uber, Lyft, Ola, Rapido и т. д.) запускают алгоритм сопоставления, а также проверяют вероятность того, что водитель примет поездку, прежде чем отправить им запрос.
В этом информационном бюллетене мы обсудим, как мы можем построить вероятностную модель приемлемости поездки водителя.
Цель: Предсказать, примет ли водитель запрос на поездку, и найти вероятность принятия?
Требуемые характеристики/функции
Чтобы определить функции, необходимые для решения этой проблемы в сфере такси, специалист по данным должен хорошо разбираться в предметной области. Продуктовое мышление всегда важно для специалиста по данным.
Убер Поездка
1. Поездка
- Расстояние от привода до пользователя (клиента) (расстояние от водителя до пикапа)
- Время суток (утро/день/вечер/поздняя ночь)
- Продолжительность/расстояние поездки (расстояние от посадки до падения)
- Способ оплаты (некоторые водители предпочитают наличный режим больше, чем онлайн-платежи)
- Пункт назначения клиента (водители не любят ехать в пункт назначения, где им придется бороться, чтобы получить следующего клиента)
- Тип поездки — запрос пула или обычный запрос
2. Драйвер
а) В пути или доступен
- Доступен ли водитель (нет поездок)
- Если водитель в пути — поездка подходит к концу или находится в середине пути.
б) Исторические особенности
- За последнюю неделю/месяц в среднем. количество принятых поездок
- Всего поездок, совершенных в течение дня — достиг ли водитель своей дневной цели поощрения или нет.
- Коэффициент принятия за текущие дни (коэффициент принятия = количество принятых запросов / общее количество полученных запросов)
3. Тип транспортного средства
- Такси / Авторикша / Велосипед (в зависимости от типа транспортного средства некоторые водители не принимают клиентов в безлюдных районах — из соображений безопасности)
- Многие водители вело/авторикш не соглашаются на поездки более 10 км.
Авто Поездка
4. Райдер (Клиент)
- Рейтинг водителя (водитель не любит иметь дело с клиентами с рейтингом ниже 4)
- Пол водителя (некоторые водители не принимают запросы на поездку в зависимости от времени запроса и пола клиента)
- Изображение всадника (интересный эксперимент, который кто-то проделал, заменив свое изображение изображением зомби и получив меньше одобрения водителей; также имеет значение доказательство того, что образ клиента водителю)
Интересное изображение профиля для чтения имеет значение как для водителя, так и для пассажира 😂: Водители-зомби выманивают у людей деньги с помощью ужасных аватарок
5. Трафик
- По времени запроса — водители иногда не любят принимать поездки в зонах с интенсивным движением (длительность поездки до завершения или до клиента — зависит от трафика в регионе)
6. Особые события (время от времени меняется)
- Погода — Дождливый день / Солнечно
- Ограничения Covid в этом районе (карантинная зона)
- Праздничный день в зависимости от региона — Холи, Дивали, Рождество и т. д.
Дождливый день
Моделирование
Теперь у нас есть богатый набор функций, который может помочь нам предсказать, примет ли водитель запрос клиента на поездку или нет. Мы используем стандартные алгоритмы контролируемой классификации статистического машинного обучения (с выборочной проверкой):
- Логистическая регрессия (линейная модель)
- Дерево решений (нелинейная модель)
- Классификатор бэггинга — классификатор случайного леса (модель ансамбля)
- Классификатор повышения — LightGBM, XGBoost и др.
Метрики модели : AUC-ROC, оценка F-бета (бета = 2; если отзыв в два раза важнее точности)
Вывод
Я надеюсь, что вы поняли бизнес-проблему и можете относиться к функциям, которые мы выбрали для моделирования шаблонов. Хотя серебряной пули не существует, и эти проблемы намного сложнее, наша цель состояла в том, чтобы улучшить взаимодействие с пользователем и свести к минимуму время сопоставления пользователя и водителя, поскольку даже миллисекундное изменение в алгоритме сопоставления водителя и пользователя может помочь сэкономить миллионы долларов. .
Согласно статье, озаглавленной «Стоимость задержки в высокочастотном трейдинге», преимущество в 1 миллисекунду в задержке может стоить более 100 миллионов долларов в год.
Надеюсь, вы узнали что-то новое из этого поста. Если вам понравилось, нажмите 👏, подпишитесь на мою рассылку и поделитесь этим с другими. Оставайтесь с нами для следующего!
Присоединяйтесь, подписывайтесь на меня или поддержите меня в LinkedIn если вы нашли это чтение полезным.
Я открыт для выступлений или консультаций, вы можете связаться со мной в LinkedIn:
Также опубликовано здесь.