Прогнозирование будущих продаж в супермаркетах с помощью машинного обучения с MindsDB.

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

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

Для решения этих проблем компания MindsDB разрабатывает платформу, которая позволяет разработчикам с базовыми знаниями языка структурированных запросов (SQL) разрабатывать и внедрять модели, использующие машинное обучение в базах данных. В этом руководстве вы узнаете, как создавать такие модели с помощью SQL-редактора MindsDB.

Начнем с создания учетной записи MindsDB.

Чтобы создать учетную запись;

  1. Нажмите кнопку Get Started на главной странице.
  2. Заполните свои данные в соответствующих полях ниже.
  3. Вам будет отправлено письмо с просьбой подтвердить ваш адрес электронной почты.
  4. После подтверждения вы будете направлены в SQL-редактор MindsDB.

Чтобы продолжить этот учебник, вам необходимо загрузить набор данных в MindsDB GUI.

Загрузка набора данных в MindsDB GUI.

  • Сначала загрузите zip-файл с набором данных здесь и извлеките его содержимое (файл train.csv).
  • Затем нажмите на кнопку Add Data в верхней части редактора MindsDB SQL Editor.
  • Далее выберите вкладку файлы и нажмите кнопку импортировать файл.
  • Нажмите кнопку импортировать файл, назовите таблицу sales_data. Нажмите кнопку Сохранить и продолжить, чтобы загрузить набор данных.
  • После успешной загрузки перед вами должен появиться редактор SQL.

Понимание данных.

Каждый набор данных, который вы загружаете в MindsDB, хранится в базе данных files в виде таблицы. В результате вы должны выполнять свои запросы к таблице в этой базе данных.

Выполните приведенный ниже запрос, чтобы увидеть первые пять записей в таблице sales data.

SELECT * FROM files.sales_data LIMIT 5;
Войти в полноэкранный режим Выход из полноэкранного режима

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

Чтобы увидеть эти столбцы, выполните запрос ниже.

SELECT `Order Date`, `Ship Date`, `Ship Mode`, Segment, Category, Sales FROM files.sales_data
Войти в полноэкранный режим Выйти из полноэкранного режима

Что означают эти столбцы?

  • Дата заказа: Дата, когда продукт был заказан потребителем.
  • Дата отгрузки: Дата, когда продукт был отправлен компанией.
  • Режим отгрузки: Класс отгрузки, который выбрал потребитель. Здесь доступны четыре класса: В тот же день, Первый класс, Стандартный класс и Второй класс.
  • Сегмент: Сегментация продукта. Это поле имеет три возможных значения: потребительский, корпоративный и домашний офис.
  • Категория: Категория, к которой относится товар. В этой колонке три значения: мебель, офисные принадлежности и техника.

Построение модели.


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

  • Очистка данных: Сначала вы очистите данные, удалив дубликаты, заполнив недостающие значения, проверив соответствие типов данных в поле и т.д.
  • Исследовательский анализ данных: Далее вы проанализируете данные, чтобы выявить закономерности и тенденции, которые могут иметь отношение к рассматриваемой проблеме.
  • Выбор характеристик: Не каждый столбец в наборе данных важен. На этом этапе вы удалите все поля, которые, по вашему мнению, практически не повлияют на эффективность вашей модели машинного обучения.
  • Обучение данных: Это когда вы пробуете несколько алгоритмов машинного обучения, чтобы увидеть, какие из них работают лучше всего на ваших данных. Если вы решаете задачу регрессии, вы выбираете алгоритм регрессии; то же самое справедливо для классификации и анализа временных рядов, среди прочего. Не говоря уже о том, что перед обучением данных вы должны убедиться, что все категориальные данные (слова) были преобразованы в числовые данные (числа) и что эти числовые данные были нормализованы.
  • Валидация модели: После обучения модели ее тестируют на проверочных и тестовых данных, чтобы определить ее точность. Затем параметры модели настраиваются до получения стабильной и хорошей производительности.
  • Развертывание модели: Теперь, когда вы обучили и протестировали свою модель, вы должны преобразовать ее в двоичный файл с помощью Pickle или Joblib, чтобы развернуть ее и сделать прогнозы.Эти шаги вы бы выполнили, если бы создавали модель с помощью Python и инструментов машинного обучения, но MindsDB заботится об этих шагах и позволяет вам создать модель с помощью SQL-запросов.

Выполните приведенный ниже запрос, чтобы создать модель для таблицы ‘sales data’, используя указанные столбцы.

CREATE PREDICTOR mindsdb.predict_sales
FROM files
    (SELECT `Order Date`, `Ship Date`, `Ship Mode`, Segment, Category, Sales FROM sales_data)
PREDICT Sales;
Войти в полноэкранный режим Выйдите из полноэкранного режима

Если все сделано правильно, вы должны увидеть сообщение «Запрос успешно выполнен».
Следующий синтаксис иллюстрирует работу запроса.

CREATE PREDICTOR mindsdb.[predictor_name]
FROM [integration_name]
    (SELECT [column_name, ...] FROM [table_name])
PREDICT [target_column];
Войти в полноэкранный режим Выйти из полноэкранного режима
  • [имя предиктора]: Имя модели.
  • [имя интеграции]: Имя базы данных, в которой хранится таблица, например, файлы.
  • [column name,…]: Поле для предсказания, а также поля для обучения предсказанию.
  • [имя таблицы]: Таблица, содержащая столбцы, например, ‘sales data’.
  • [целевой столбец]: Столбец для прогнозирования, например, Sales.

Создание прогнозов.


Рассмотрим следующий вопрос для этого раздела.

Клиент заказывает товар 28 марта 2022 года, а товар отправляется 31 марта 2022 года. Товар относится к потребительскому сегменту, категории мебели, и был отправлен первым классом. Сколько стоил этот товар?

Чтобы узнать это, воспользуйтесь приведенным ниже запросом.

Select Sales_confidence, Sales_explain
FROM mindsdb.predict_sales
WHERE  `Order Date` = '28/03/2022' AND
        `Ship Date` = '31/03/2022'AND
        `Ship Mode` = 'First Class'AND
        Segment = 'Consumer'AND
        Category = 'Funiture';
Войти в полноэкранный режим Выйти из полноэкранного режима

Используя новую построенную модель, можно сказать, что товар стоит около $201,27. Уровень достоверности модели составляет 76%, или 0,76.

Вот и все. MindsDB упрощает построение моделей машинного обучения.

На этом пока все, ребята. Этот учебник показывает, как MindsDB демократизирует доступ к машинному обучению с помощью SQL, языка, который использовался десятилетиями и остается актуальным и сегодня.

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

Вы можете узнать больше о MindsDB, прочитав документацию.

Спасибо, что прочитали эту статью. Если она вам понравилась, пожалуйста, поделитесь ею.

Чтобы узнать больше о сфере машинного обучения и искусственного интеллекта в целом, вы можете следить за мной в Twitter и LinkedIn, а также оставить комментарий ниже, если у вас есть вопросы. А пока — до свидания.

Оцените статью
devanswers.ru
Добавить комментарий