Подробный взгляд на этот блог показывает, когда и где открывать новый ресторан в разных регионах.

Перед открытием нового ресторана очень важно грамотное планирование инвестиций.

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

Ниже приведены разделы, которым посвящен весь блог:

  1. Бизнес-проблема
  2. Обзор данных
  3. Метрика оценки
  4. Исследовательский анализ данных и разработка функций
  5. Ключевые выводы
  6. Преобразование данных
  7. Модели машинного обучения
  8. Сравнение моделей
  9. Развертывание
  10. Будущая работа
  11. использованная литература

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

Деловая проблема

Компания TFI, располагающая более чем 1200 ресторанами быстрого обслуживания по всему миру, владеет несколькими известными ресторанами в разных частях Европы и Азии. В них работает более 20 000 человек в Европе и Азии, и они ежедневно вкладывают значительные средства в развитие новых ресторанных сайтов. Мы встретили четыре разных типа ресторанов. Они бывают рядные, мобильные, автодорожные и фуд-корт. Поэтому решение об открытии нового ресторана - это непростая задача, связанная с появлением новых ресторанов быстрого обслуживания.

В последнее время даже сайты ресторанов требуют больших затрат времени и капитала. Географическое положение и культура также влияют на долгосрочное выживание фирмы. По субъективным данным сложно экстраполировать место открытия нового ресторана. Таким образом, TF1 нужна такая модель, чтобы они могли эффективно инвестировать в новые сайты ресторанов. Этот конкурс предназначен для прогнозирования годового объема продаж ресторанов в 100 000 региональных заведений.

Обзор данных

Компания TFI предоставила набор данных по 137 ресторанам на этапе обучения и 100 000 ресторанов на этапе тестирования.

  • Id: идентификатор ресторана
  • Дата открытия: Дата открытия ресторана
  • Город: Город, в котором расположен ресторан.
  • Группа городов: Тип города. Большие города или другое.
  • Тип: Тип ресторана. FC: Food Court, IL: Inline, DT: Drive-Thru, MB: Mobile
  • P1- P37: Есть три категории этих обфусцированных данных. Демографические данные - включают население в любой данной местности, распределение по возрасту и полу, масштабы развития. Данные о недвижимости - в зависимости от м2 объекта, фасадного фасада объекта, наличия автостоянки. Коммерческие данные - включают наличие достопримечательностей, включая школы, банки, других операторов QSR.
  • Доход: столбец доходов показывает преобразованный доход ресторана за данный год и является целью прогнозного анализа.

Метрика оценки

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

Давайте обсудим здесь наиболее эффективные и часто используемые метрики оценки в задачах регрессии.
Среднеквадратичная ошибка (RMSE):
RMSE - самый популярный метрика оценки, при которой предполагается, что полученные ошибки являются беспристрастными и подчиняются нормальному распределению. RMSE - это квадратный корень из средних квадратов остатков / ошибок.

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

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

Исследовательский анализ данных и разработка функций

Исследовательский анализ данных - это подход, используемый для анализа данных и получения из них значимой информации.

Разработка функций - это процесс извлечения новых функций из исходных данных.

Анализ целевой переменной - «доход»:

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

Анализ столбца «Тип»:

Приведенные выше графики представляют количество различных типов ресторанов в наборах данных для обучения и тестирования. Поскольку количество DT (drive-thru) и MB (мобильный) очень мало, что указывает на то, что эти два являются менее предпочтительным типом ресторанов, а FC (Food Court) является наиболее предпочтительным типом ресторана. .
Примечание. В обучающем наборе нет ни одного слова «MB» (мобильные рестораны).

Анализ столбца "Город":

Около 60% ресторанов открылось в основном в Стамбуле, Анкаре, Измире.

Тип и переменная дохода:

«FC» (FoodCourt) и «IL» (Inline) являются предпочтительными типами ресторанов, которые имеют аналогичное распределение и также обеспечивают хороший доход.

Городская группа по сравнению с доходом:

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

Город или доход:

Измир, Стамбул, Элязыг и Эдирне - это немногие города, где средний доход ресторанов высок.

Добавление новых функций из переменной «Дата открытия»:

Месяц анализа:

В основном новые рестораны открываются в августе и декабре.
Рестораны приносят хорошие доходы в апреле и сентябре.

Город и год (по сравнению с) Доход:

Ключевые выводы, полученные из приведенного выше графика, заключаются в том, что среди других городов «Стамбул» - это город, который обеспечивает самый высокий доход, а также большинство из них предпочитают открывать новые рестораны почти каждый год с 1997 года. «Анкара» и «Измир» - это города. которые приносят неплохой доход, и после «Стамбула» это самые предпочтительные города для открытия нового ресторана каждый год.

Тип и год (по сравнению с) Доход:

Практически каждый год новые рестораны предпочитают в качестве типа ресторанов «FC» (фуд-корт) или «IL» (инлайн). Средний доход для обоих этих типов ресторанов примерно одинаков.

Группа города и год (по сравнению с) Доход:

Мы можем наблюдать, что с 1997 года каждый год в «больших городах» открываются несколько ресторанов, а также наблюдается хороший доход в период с 1997 по 2012 год.

Город и группа городов (по сравнению с) Доход:

Ключевой вывод из этого сюжета заключается в том, что только Анкара, Стамбул и Измир являются единственными крупными городами.
Среди других городов Эдиме, Элязыг и Трабзон приносят более высокие доходы.

Город и тип (по сравнению с) Доход:

В «больших городах», таких как Стамбул, Измир и Анкара, предпочтение может быть отдано ресторану типа «FC» (Фуд-корт), чтобы максимизировать доход.

Ключевые выводы

Тип:

Фуд-корт (FC) и Inline (IL) являются наиболее предпочтительными типами ресторанов, а Drive-Thru и Mobile - типами ресторанов, которые не предпочитают даже большинство городов. Ресторан Type FC (фудкорт) приносит высокие доходы в больших городах.

Город:

Около 60% ресторанов открываются, в основном, в Стамбуле, Анкаре, Измире.
Стамбул - это город с наибольшим доходом и наиболее предпочтительный город для открытия нового ресторана.

Группа городов:

Ключевым моментом является то, что большие города включают только Анкару, Стамбул и Измир.
Эдиме, Элязыг и Трабзон - другие города, приносящие более высокий доход.

Месяц:

В основном новые рестораны открываются в августе и декабре.
Рестораны приносят хорошие доходы в апреле и сентябре.

P1-P37:

В наборе данных всего 37 p-переменных (P1-P37): есть три категории этих обфусцированных данных. Это демографические данные, данные о недвижимости и коммерческие данные. Некоторые из этих характеристик "P" сильно коррелированы друг с другом и имеют меньшую корреляцию или не имеют никакой корреляции с переменной "доход". Так что этими особенностями можно пренебречь.

Преобразование данных

Применение стандартного скаляра:

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

Применение анализа основных компонентов:

Поскольку данные имеют высокую размерность, мы можем использовать анализ главных компонентов (PCA). Это помогает уменьшить размеры данных и сосредоточиться на тех, у которых компоненты наибольшей дисперсии.

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

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

Регрессия лассо или регуляризация L1:

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

Риджевая регрессия или регуляризация L2:

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

Регрессор случайного леса:

Случайный лес - это метод ансамбля, при котором несколько базовых моделей работают вместе, чтобы сформировать более мощную модель. Это самый популярный алгоритм упаковки, который может уменьшить дисперсию в модели, не влияя на смещение.
Он следует подходу случайной ускоренной выборки, когда каждая базовая модель выбирает разные образцы функций.
RF = DT + Bagging (выборка строк с заменой) + выборка столбцов (упаковка функций) + большинство голосов / среднее, медиана (агрегирование)

XG Boost:

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

XGBoost: усиление + рандомизация

XGBoost: - GBDT (псевдоостаточный + аддитивный) + выборка строк + выборка столбцов

Light GBM:

LightGBM - это алгоритм повышения градиента. В то время как деревья других алгоритмов растут горизонтально (поэтапный подход), LightGBM растет вертикально (поэтапный подход).
Лучшее разбиение определяется с использованием метода односторонней выборки на основе градиента.
Этот алгоритм Помимо большей точности, это облегченная версия, которая также экономит время, чем xgboost.

Пользовательский классификатор стека:

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

Сравнение моделей

Рейтинг Kaggle Leaderboard

Развертывание

Наконец, развернул образец веб-приложения с помощью Streamlit и развернул модель в AWS.

Ссылка на веб-приложение:



Будущая работа

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

использованная литература

  1. Https://www.appliedaicourse.com/
  2. Https://www.kaggle.com/ruiyap/detailed-eda-data-processing-model-building
  3. Https://www.kaggle.com/jackttai/revenue-prediction-using-lightgbm
  4. Https://medium.com/@paul90.hn/restaurant-revenue-prediction-using-gradient-boosting-regressio.comn- «and-principal-component-analysis-346287c0fab
  5. Https://www.kaggle.com/jquesadar/restaurant-revenue-1st-place-solution
  6. Https://www.streamlit.io/

Репозиторий Github

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



LinkedIn профиль