Реальная история о том, как в Uklon внедряли машинное обучение

Привет, меня зовут Андрей, я Data Science инженер в SMART business. В этой статье я расскажу, как мы для сервиса вызова авто Uklon ускорили время подачи машины и оптимизировали расчет стоимости с помощью машинного обучения. Ниже пойдет речь о реальном кейсе применения ML в бизнесе, который показал результаты.

Про конкуренцию и мотивацию

Только в 2016 году в Киеве появилось сразу несколько мощнейших компаний-перевозчиков: сперва американский Uber, за ним — компании из России («Яндекс.Такси»), Словакии (Hopin), Эстонии (Тaxify), а также несколько компаний поменьше (украинских и иностранных), что, естественно, повлекло за собой обострение конкуренции в сегменте вызова авто и закрытие многих традиционных служб.

Жители крупных городов все активнее заказывают авто онлайн. Если в начале 2016 года доля таких заказов была 5-10% из общей массы, то через год их стало уже в два раза больше. Ожидаемо, что доля онлайн-заказов на рынке будет только увеличиваться. Чтобы оставаться на плаву, некоторые традиционные службы такси начали вводить и у себя возможность вызова авто через сайт или мобильное приложение. Первым онлайн-сервисом вызова авто в Киеве стал Uklon. Сегодня компания получает в среднем несколько тысяч запросов на вызов в день. Главная фишка в том, что цена на поездку — управляемая. То есть ты можешь назначить любую цену заказа и ждать, пока кто-то из водителей подтвердит её.

До недавнего времени Uklon использовал ценообразование с динамическим коэффициентом, который учитывает только два фактора — уровень спроса (количество запросов на подачу машины) и уровень предложения (количество доступных к заказу машин). При расчёте стоимости заказа сперва определялась цена поездки из точки А в точку Б, далее применялся динамический коэффициент, который был призван сгенерировать оптимальную цену, при которой вероятность найти машину значительно повышается. Но существовала проблема с низким процентом вывоза в определённых точках города, а также клиентам приходилось долго искать и ожидать машину, что, естественно, приводило к отмене заказа и потере лояльности клиента.

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

Упор был сделан на улучшение двух показателей: ожидаемое время прибытия авто (Estimated Time of Arrival — ETA) и процент выполнения заказа (или так называемый «процент вывоза»). Время прибытия машины влияет на то, будет ли клиент дожидаться подачи машины или отменит заказ и воспользуется другим сервисом. Процент выполнения заказа — это KPI, который в целом характеризует популярность сервиса и влияет на уровень продаж и долю рынка.

На ожидаемое время прибытия авто и процент вывоза могут влиять разные параметры: цена, конечная точка маршрута, марка машины, место прибытия, время суток, время года (угадайте, какой из параметров в итоге оказался самым важным?). Поэтому после анализа бизнес-процессов компании был выбран ряд таких параметров, и началась проверка гипотез на данных сервиса авто.

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

Переходим к решению

Используемые данные для работы модели

Для проверки гипотез и дальнейшего построения модели были использованы наши закрытые данные — таблица с историей заказов и поездок клиентов, размером около 20 Гб. Эта таблица содержала более 20 миллионов записей с 20 характеристиками (полями) поездок, которые в течение работы дополнялись информацией о водителе, автомобиле и клиенте.

Также использовались метеорологические данные, которые мы собирали из двух источников: сайт с открытыми данными от NASA и метеостанции трёх киевских аэропортов.

Описание работы модели (алгоритма)

Так как работать сразу с 20 параметрами (полями) поездок было затруднительно, решили агрегировать параметры по группам. Первый параметр, с которым начали работать, — это точка подачи машины. Мы провели анализ точек возникновения спроса в разных районах Киева и разбили город на кластеры, которые, конечно же, отличались от стандартного разделения города на административные районы.

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

Также были изучены данные о клиентах, чтобы сформировать поведенческую модель пассажиров и провести на её основе сегментацию. Учитывалось, кто, когда, куда и как часто ездит, соглашался ли на торг, отменял ли заказы и так далее. Таким образом, после анализа поведения клиентов мы выделили несколько групп пользователей, для которых цена формировалась по-своему.

Для разделения города по регионам вывоза клиентов и точки назначения, а также для сегментации клиентов, мы использовали кластеризацию (k-means алгоритм).

Исходные точки и случайно выбранные начальные точки.Точки, отнесённые к начальным центрам. Разбиение на плоскости — диаграмма Вороного относительно начальных центров.Вычисление новых центров кластеров (ищем центр масс).Предыдущие шаги повторяются, пока алгоритм не сойдётся.

Также использовали классификацию и регрессию (Random forest алгоритм) для следующих задач:

  • определения новой точки вывоза и точки назначения в созданный ранее городской кластер;
  • определения сегмента клиента;
  • прогноза цены.

Этапы работы над моделью

Отобрав наборы данных и загрузив их в базу данных в Azure SQL Database service, мы взяли часть данных для тренировки модели в Azure Data Science Virtual Machine. Для разных задач использовали разные модели, например, для кластеризации города или сегментации клиентов использовался k-means алгоритм, для прогнозирования цены — дерево решений (к слову, сейчас дерево решений для определения оптимальной цены содержит около 300 ветвей). После тренировки модели мы взяли стандартные параметры, которые задает модель, и проверили работу модели на определенной выборке данных. Результат был удовлетворительным.

Далее для проверки корректности работы модели брались данные, которые были изначально скрыты от модели при тренировке и оценке результатов тренировки. В итоге проверка показала, что модель все-таки учитывает не все параметры. Поэтому по результатам первой проверки был подобран новый набор параметров для модели, и процессы тренировки и проверки пройдены снова по кругу, пока не был получен необходимый результат.

Далее полученная в Azure Data Science Virtual Machine модель, которая решает задачи клиента, была развернута в производственной среде в виде веб-сервиса — а именно в Azure Machine Learning web service. Схема работы решения такова: потенциальный пассажир создаёт заказ в мобильном приложении с параметрами точки вывоза и точки назначения, на основе чего рассчитывается стандартная цена поездки по километражу, и эти входные данные отдаются через сервер «Уклона» к развёрнутому веб-сервису. Далее модель просчитывает оптимальную цену для данной поездки, при которой пассажир не будет торговаться, а таксист наиболее вероятно возьмёт заказ. Просчитанная моделью цена возвращается на сервер «Уклон» и уже оттуда — в клиентское приложение, где пассажир может видеть предложенную цену для данной поездки. Скорость просчёта оптимальной цены настолько высока, что пользователь мобильного приложения не замечает никаких задержек.

Изменение модели после первых тестовых запусков

Перед запуском работы модели на всех клиентов и на весь город мы прошли ряд шагов для улучшения результатов:

  • подбор количества кластеров в городе;
  • подбор временных интервалов за день и их количество;
  • добавление характеристик поездки (за город, в аэропорт);
  • добавление классов автомобиля;
  • добавление параметров по погоде;
  • работа с сегментами клиентов.

Результаты работы модели

Созданная нами модель была запущена в эксплуатацию параллельно с существующим ценообразованием с использованием динамического коэффициента, и заказы клиентов распределялись 50/50 на обе модели.

В результате работы новой модели улучшились показатели выполнения заказов и времени ожидания — собственно, те параметры, на которые мы нацеливались в начале проекта. В сравнении с прошлой моделью эти показатели выше на 5-15%.

При использовании новой модели машина находится на 18 секунд быстрее. При количестве около 3000 заказов в день — это около 15 часов экономии времени для всего города. Если брать в расчёт среднюю семью, которая ездит на такси приблизительно 4 раза в неделю, экономия времени составляет около 1 час в год.

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

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

Сейчас алгоритм модели работает на основе тех данных, на которых она обучалась, но в дальнейшем планируется переобучение модели каждый месяц или даже каждую неделю с учётом новых данных.

Все про українське ІТ в телеграмі — підписуйтеся на канал DOU

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному2
LinkedIn



99 коментарів

Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.

Коментар порушує правила спільноти і видалений модераторами.

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

Несколько раз замечала такую особенность: стоит один раз согласиться на повышеный тариф на постоянном маршруте (например, во время повышенного спроса), в следующие разы при заказе во время пониженного спроса, тариф предлагается ВСЕГДА повышенный. При этом при заказе с другого IP или аккаунта, тариф обычный :)
Интересно, это является результатом обучения?
ЗЫ: на неоправданно повышенный тариф никогда не соглашаюсь — машина тем не менее находится очень быстро :)

Вам показалось, это скорее всего потому что большинство из определенного сегмента приняли такое решения. Все зависит не только от сегмента и его исторического поведения но и от текущих обстоятельств.

извините, не поняла, что мне показалось :)

Прикольная статья. Интересно узнать как вы применили РФ к

определения новой точки вывоза и точки назначения в созданный ранее городской кластер;

Кроме того, какие другие модели пробовали для предсказывания цены? Мне кажется что обычная линейная/полиномиальная регрессия тут сработала бы не хуже.

Сначала думал использовать как классификатор, но потом нашел более быстрый способ оиска кластера по гео-кординатам.

Сегодня компания получает в среднем около 3 тысяч запросов на вызов в день.

Не може бути, чому так мало?

Мабуть тому що програють конкуренцію як традиційним службам так і Уберу.
Не знаю як стосовно Києва, але в Львові, час знаходження машини типово вдвічі-втричі довший, ніж Убер. Тому клієнти обирають або убер чи оптимальне чи 838, а далі смертельний цикл — нема клієнтів, нема таксистів.
Це не кажучи про дибільний інтерфейс спроектований мабуть тим самим вуйком що приборну панель літака проектував. І що головне цей інтерфейс не помінявся за 2 чи 3 роки. Відповідно навчити старше покоління користуватися ним просто немає шансів.

Це трохи застаріла інформація десь кінець 2015 року, використовував її так як вона була взята з відкритого джерела.

Действительно, сейчас приложение стало чаще «угадывать» сумму, за которую водитель согласится ехать. Раньше можно было пол часа накидывать по +10грн и ждать, либо вызвать убер и уехать сразу. Фактически, это было одной из основных причин по которым я перестал использовать уклон вообще, а какое-то время назад снова начал. Полагаю, за это нужно благодарить вас :)

В целом, на текущий момент в обеих службах есть свои плюсы и минусы и пользуюсь я ими в зависимости от ситуации (откуда, куда, за сколько, как скоро, возможные задержки с моей стороны). Хорошо, когда есть выбор.

имхо водитель быстрее соглашается если сумма за поездку кратная 10 или 5

при использовании новой модели увеличилась прибыль и средний чек поездки

или просто цены на услуги такси в среднем по рынку выросли

Созданная нами модель была запущена в эксплуатацию параллельно с существующим ценообразованием с использованием динамического коэффициента, и заказы клиентов распределялись 50/50 на обе модели.

А есть здесь кто uklon’om пользуется часто? и че как, стало лучше, быстрее?

Нет, все обсуждают «бюджетное авто в пределах 50к»

Так, стало краще і швидше) в 2-3 останніх поїздках машину знаходило менш ніж за 45 секунд

Спасибо, задача интересная, но цменьшение подачи как целевая функция хоть и выглядит логичной часто приводит к «а не вызвать ли нам XYZ, ибо ценник конский» в реальной практике.
Динамика роста заказов не проседает ли часом при таком подходе?

Такой проблемы не возникало, так как цена получилась сбалансированой.

Мой субъективный опыт говорит обратное )

Два чаю, вирішив поставити уклон (бо років 5 тому воно машину не могло ніколи знайти), по стандартному маршруту з позняків на лук’янівку воно мені видало 130 грн тоді як ціна йому 100 грн.

у меня при базовой 74грн предложило сходу 134грн, что в 1.8 раза больше.
глаз да глаз нужен.
но то бывает.

все, модель вже обучилась на ДОУ, ти у них як програміст числишся — спецтариф

Ну это потому что фильтр Калмана берет гаусовские пространства, как упрощенную модель. А вообще можно юзать любые просто вычесления будут сложнее.
Для подхода есть.. но среднее по больнице никто не берет, всегда идет перед этим минимум кластеризация, из серии для мужиков от 30-40, которые носят бороды и все конечности на месте лучше вот такое, и то это если это не глубокая кластериззация побочки будут вылезать боком.

Оставлю тут ссылку про (не)оптимальные условия использования k-means кластеризации, может пригодится: www.r-bloggers.com/...​ring-is-not-a-free-lunch

Спасибо, классный ресурс !
У каждого алгоритма есть преимущества и недостатки .

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

Спасибо, интересно!

По сравнению с существующей моделью ценообразования, теперь в 75% случаев клиент не торгуется и соглашается на стоимость, предложенную новой моделью.

А при существующей модели в каком % случаев клиент не торговался?

Нет это уже закрытая информация.

Тогда, возможно, лучше не говорить, что «Это показывает довольно высокую способность алгоритма учитывать поведенческую модель клиентов». Может, для предыдущего способа клиенты соглашались в 70%, и он тоже нормально учитывал поведенческую модель :)

И еще вопрос: правильно ли я понимаю, что раз клиенты стали меньше торговаться, то значит предлагаемая цена стала ниже?

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

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

Как я понял, сейчас нельзя понижать ниже базовой стоимости поездки, но можно понижать когда приложение пишет про коэффициент.

Нельзя уменьшить минимальную, но если это цена «отбалансированная», то все же можно еще редактировать и в меньшую сторону

1) Какое вообще отношение SQL имеет к ML и DS? Это реально грабли.
2) Я конечно не гуры данной области(имею ввиду логистику), но как мне кажеться заход реально через одно место. Может стоило сделать так что бы водители оказывались в нужное время и в нужном месте? (Например то как это делает тот же Убер)
3)

Так как работать сразу с 20 параметрами (полями) поездок было затруднительно

 — тут не понял, вы что на бумажке считали? Что значит затруднительно? Выявили влияние параметров, отсеяли лишние, профит. Ну или если очень жмет, есть тото же PCA. Интерпритабельность же тут не горит, по сему хз зачем за нее цепляться.
4) Есть куча исследований того же Убера которые как минимум стоило бы прочитать перед тем как делать велосипед
5) вообще не учитывается фактор бренда, что никак не улучшает рост дальнейшего спроса. ПО сути каким то водителям можно доплачивать со своего кармана, что бы клиент остался доволен, а следовательно сильнее подсел на сервис, тем самым увеличив LTV и приведя с собой еще друзей.

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

на самом деле eta — дефолтная задача для такси, которую нужно решать, но под остальным подписываюсь :)

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

Это может быть твоим субъективным мнением, потому что компания может делать свои внутренние ресерчи и определять наиболее приоритетную задачу. Меня бесит больше время ожидания. Если убер ждать больше 10 минут, то я сразу начинаю параллельно искать в уклоне. И тогда уже кто быстрее найдет, на той тачке и поеду.

так да это мое личное мнение, я просто говорю что вот различие, а посему нада ресерч, чтобы понять сколько таких как я и таких как ты например. А без ресерча просто сказать «это проблема» это странно

1. SQL это место хранения исходных данных для модели. Посде ее обучения там хранятся только результаты. В принципе недавно появились службы SQL Server Machine Learning с поддержкой R и Python.
2.Убер имеет немного другую бизнес-модели и для них такой подход решения конечно же полходит лучше.
3. Эта статья не провыбор фич для модели, но мы конечно же это делали. PCA — неплохой инструмент но есть и более продвинутые с бодее глубоким анализом.
4. Как я уже писал Убер имеет немного другую бизнес-модель.
5. Это не задача машинного обучения.

1) SQL это не место хранения, это реляционная база. если реляционности нет то странно ее юзать. Это так же как EVCache юзать для реляционных данных.
2) всмысле другую? в чем она другая? так же берут деньги за услуги перевоза.
3) А про что это статья? Бо выглядит как и не для технарей и не для обычного народа. ЦА статьи не ясна. Да есть и другие методы сжаттия пространства.. пца просто пример. Просто формулировка «было затруднительно» как то убила.
4) давайте вы ее оххарактеризуете что бы все понимали отличия и разговор был более конструктивным.
5) Сейчас все и вся задача машинного обучения. Не задача это только для тех кто не хочет получать больше доход.

1. Конечно же таблица результатов связана с другими таблицами (справочники и т.д.) для последующего анализа в разных разрезах. Я думаю Вы не до конца поняли для чего нужна была БД на SQL.

2. Первое и наверное самое главно, что всем нужно знать Uklon как и Uber НЕ позиционируют себя как службы такси, это агрегаторы заказов. Сдесь их похожесть заканчивается.
UKLON
После того, как пользователь делает заказ, его видят диспетчерские службы, Которые в свою очередь распределяют вызовы между водителями. Первыми заказ видят то водители и службы, Которые имеют более высокий рейтинг по оценке пользователей сервиса.Дальше водители сами берут заказы Которые им больше всего нравятся.

UBER
Сдесь сервис назначает водителя с более высоким рейтингом. Водитель может отказатся но потом его рейтинг будет падать.

Это если коротко о разница между сервисами.

3.Обязательно в следующий раз распишу какие методы для выбора фич использовались.

4. Done. Если что еще есть Википедия и сайты самих компаний там все более подробно описано.

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

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

Швидше за все SQL , тому що Azure і Power BI. Майкрософт незважаючи на існування в них Cosmos DB, Postgre SQL не вважає їх повноцінними БД і конектори Power BI працюють лише з варіаціями SQL Server. Припускаю що в ML схожа ситуація, ще не дивився туди.
Зараз з’явися Azure DataBricks, який дозволяє ганяти Spark і взагалі майже будь яке джерело всунути, але 20 ГБ — це не така велика БД і якщо SQL справляється , нащо гнатися за модним, якщо можна зекономити і по грошам і по часу розробки і обійтися тими інструментами що є.
Крім того якщо я правильно розумію, компанія зберігає ориганільні дані в SQL Server.

Азур не дешевле AWS, если не дороже.
Есть скажем так то что идет под задачу. Можно например шурупы молотком забивать, но это потом вылезет боком. Так и здесь. SQL к биг дата отношения не имеет вообще, завязывание на нем выльется в очень тяжелый переход с него потом, а он будет на 100%.
Привязываться же вообще к какимто решениям которые нельзя заменить, для большой компании это как вступить ногой в капкан, так как вас на этом легко могут шантажировать.

Есть более продвинутые методы, но вы юзаете k-means и rf))) себя же своими ответами душите)

Чтобы улучшить точность :) если бы люди просто применяли алгоритмы из-за их применимости, то мы до сих пор строили все регрессии и простые дерева решений.

ну во многих темах до сих пор они юзаются по определенным причинам. Вот например стиксели для автомотив arxiv.org/pdf/1704.00280.pdf
Интересная тема и очень быстрая. Так что точность тоже не всегда допустимая роскошь.

не знаю, что там убер исследуют, но у меня зачастую убер стоит дороже в то время, когда я езжу.

Но это ещё пол беды. Если ставить и там, и там эконом, то в убере приезжает откровенный хлам — то воняет жутко, то багажник не открывается.

В том же уклоне с НГ насколько я слышал не принимают ланосы. Раньше они сотрудничали с партнёрами (другие таксопарки), сейчас вроде как все свои (начал спадать смс-спам от других такси).

Первое время в убере было норм и я им пользовался, сейчас использую только уклон.

Абсолютно противоположное мнение сложилось. Уклон — это хлам и увал. Убер это более менее адекватные машины. А самое главное что контингент водителей у Убера получше. На ланосе ехал буквально позавчера через Уклон.

Не пробували ставити клас машин трохи вище?

Я сравниваю эконом класс двух компаний. Если поставить выше, то нужно сравнивать с Убером классом выше.

В обеих компаниях работает гавно, но у убера есть жесткая ситсема рейтинга, и там реалньо баняться херовые водилы. + убер страхует (не у нас). Уклон кста тоже могли бы страховать, но почему то тупят с этим.

а есть кейсы выплат этой страховки? ну и 50к грн это 2к уе, которые при дтп не покроют и 10% лечения.

я без понятия, за что купил, за то и продаю. А на сколько страхует убер?

та ну, не уверен, что это касается Украины

не, в Украине они на хер всех шлют, были уже ДТП и людей просто послали.

Толково, большое спасибо !

Спасибо за интересную статью

Спасибо, очень интересная статья.

Data Science инженеры предложили создать новую модель ценообразования, которая будет учитывать все факторы, при этом устраивать обе стороны.

Это означает, что модель одинаково относительно не устраивает обе стороны? Интересно, бизнес в итоге доволен таким применением win-win?

Модель устративает обе стороны, но всегда можно сделать лучше. В data science все быстро меняется и всегда можно попробовать новые подходы или алгоритмы.

Да, вероятно, обе стороны должны быть в равной степени довольны согласно модели, но выигрывает ли бизнес в данное время в данному случае, когда обе стороны в равной степени удовлетворены?

И тогда второй вопрос, если можно. Если бы у вас был второй шанс, использовали ли бы вы решение по машинному обучению на Azure Cloud Search или бы попробовали что-то другое, например, solr или что-то еще. Довольны ли технологией?

Бизнес доволен и использует данное решения, по их финсовым показателям ничего сказать не могу.
По втрому вопросу:
1. Мы не использем Azure Cloud Search как веб сервис. В первой версии веб сервис был на Azure ML studio. Сейчас меняем на более удобный(он также на Azure), но об этом может потом напишем.
2. Скорее всего не использовал так как там больше времени потратил бы на процедуру переноса модели на сам веб сервис и ее операционализацию.

Сейчас меняем на более удобный(он также на Azure)

а какой, если не секрет?

Сейчас не могу, как только будет в ’production’ версии — напишу )

Наверное потому что smart business партнёр и интегратор Microsoft продуктов.

Я думаю время подачи автомобиля очень даже относится к клиентам, ведь мы всегда хотим чтоб машина быстро находилась.
Выбрали Azure;
1. Smart bussnes является партнером Microsoft.
2. В Azure действительно класные сервисы с неплохой документацией и широким комьюнити.

По финсовым аспектам которые выбирал клиент — не скажу, но от себя могу добавить что все сервисы очень удобно и прозрачно тарифицируются.
По техническим аспектам:
1. Из Azure ML использовали только веб-сервис который быстро разварачивается из R, а также быстро интегрируется с внешними приложениями.
2. Если чесно никогда не работал AWS ML, смотрел только характеристики в документации. Пока что не нашел того что бы заставило меня перейти на эту платформу. Но не могу сказать что она плохая.

Поэтому вы в 2к18 юзаете rf, которому уже больше 20 лет?))

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

По каким критериям вы выбирали данный алгоритм? По скорости или по качеству?)))

судя по статье я так понимаю что по интерпритабельности.

нет) когда у тебя 300 деревьев в рф, то не сможешь его интерпретировать

Вот простой пример. blog.datadive.net/...​erpreting-random-forests
есть сложнее но линк уже не вспомню. Мы когда то для маркетинга ее разворачивали чтобы LTV юзера по кликам считать.

Every prediction can be trivially presented as a sum of feature contributions, showing how the features lead to a particular prediction.

Это вклад фичи и в позитивно/негативно она влияет. Но если у тебя спросят почему именно так, то ответ ну эта фич вот улучшает, эта ухудшает — не очень хороший.

но лучше чем в нейронках по крайней мере) хотя и там тоже можно неплохо визуализировать

так можно в любом алгоритме, тем более есть lime и eli5

так можно в любом алгоритме, тем более есть lime и eli5

Было конечно не быстро, но там скорость и не нужна была. нужно было просто запихнуть модель в Splunk который тогда еще ML не поддерживал

я к тому, что всегда можно сделать аппроксимацию, но реальной интепретируемости не будет.

тут проблема не в RFT а в том что решают не ту задачу. а алгоритмы они не годами а областью применения выбираются. ДипЛерн увы не везде дает лучший резалт.

А кто говорит про дип лернинг? для таких задач нейронки скорее всего хуже будут работать. и нужна очень сложная настройка.

снова таки смотря что решать. например предикшен нагрузки в точке решается на отлично. все от задачи зависит. Дип лерн обычно сразу подразумевается когда говорят про старые алгоритмы)

Для гетерогенных данных подразумевают градиентный бустинг :)

То если ты в теме) А я когда комент писал не обратил внимание на имя и компанию))

Підписатись на коментарі