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

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

Представьте, что вы ресторатор и вам нужно узнать прогноз продаж на следующие 3 месяца. Это очень утомительный и трудоемкий процесс определения лучшего алгоритма прогнозирования в соответствии с характером бизнеса, который будет более точно прогнозировать продажи. Однако что, если вы просто введете информацию и получите прогноз продаж прямо на свой мобильный телефон или на веб-сайт. Звучит здорово, да! Что ж, это решение помогает определить лучший алгоритм с использованием техники машинного обучения и развернуть веб-службу с помощью нескольких щелчков мышью, которые мы можем использовать в приложении или на веб-сайте или даже превзойти.

Для людей, которые не имеют никакого представления о машинном обучении, это приложение искусственного интеллекта, которое дает системе возможность автоматически учиться и совершенствоваться на основе опыта без явного программирования. Есть 3 типа машинного обучения. Обучение с учителем, без учителя и с подкреплением. В этой статье мы сосредоточимся на контролируемом машинном обучении.

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

Хорошо, хватит разговоров! Давайте начнем!!!

Шаг 1. Создайте пустой эксперимент в студии машинного обучения Azure

Сначала вам нужно открыть студию машинного обучения Azure и щелкнуть новый эксперимент.

Щелкните «Пустой эксперимент». После открытия эксперимента по умолчанию вы увидите название эксперимента с датой, как показано ниже. Вы можете переименовать свой эксперимент, щелкнув по нему.

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

Не буду вдаваться в подробности по каждому варианту, так как мы сосредоточены на разработке модели прогнозирования продаж. Второй шаг - подготовить набор данных, который мы будем использовать для обучения модели. Вы можете либо импортировать данные, либо создать их вручную, либо также у вас есть возможность использовать образец набора данных, предоставленный студией Azure ML, и изменить его в соответствии с вашими требованиями.

Шаг 2. Импортируйте данные о продажах ресторанов

Я взял образцы данных о продажах в одном из ресторанов для 11 пунктов меню. Данные о продажах состоят из идентификатора меню, даты, продаж, погоды, праздника, фестиваля и рекламных акций.

Погода классифицируется как 0 для холода и 1 для тепла. Точно так же я классифицировал праздник: 0 без выходных и 1 с указанием выходных. Помимо погоды и праздников, мы также учли фестиваль и акции на месяц соответственно. Эти факторы важны, так как они сильно повлияют на продажи ресторана.

Шаг 3. Очистите данные о продажах в соответствии с требованиями модели

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

Сценарий R ниже используется для добавления еще двух столбцов месяца и года.

После выполнения сценария R вы найдете еще два столбца «Месяц» и «Год».

Шаг 4. Обучите модель

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

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

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

Шаг 5. Оцените результаты

После проведения эксперимента мы будем оценивать результат с помощью модели. Важным фактором, который мы должны проверить, является коэффициент детерминации. Чем ближе коэффициент детерминации к 1, тем лучше модель.

В нашем случае коэффициент детерминации (R2) равен 0,9213, что означает, что 92% данных можно объяснить с помощью модели.

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

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

Шаг 6. Разверните веб-службы

Следующим шагом является создание и развертывание веб-службы. После успешного проведения эксперимента мы выберем модель поезда регрессии леса решений и нажмем «Предиктивная веб-служба [рекомендуется]».

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

После запуска модели и нажатия кнопки «Развернуть веб-службу» она будет перенаправлена ​​на страницу, как показано ниже.

Вы увидите, что автоматически создается ключ API, который мы будем использовать для доступа к модели через веб-службу. Кроме того, мы можем загрузить надстройку Excel и запустить модель удаленно без каких-либо проблем.

Потрясающие! Мы только что разработали полную модель прогнозирования продаж в ресторане и развернули веб-службы.