BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • FineDataLink
  • FineChatBI (FineAI)
  • Коннекторы данных из 1С в BI
  • Airflow / Nifi
  • Visiology
  • PIX BI
  • Modus BI
  • Yandex.DataLens
  • Open-source BI: Superset/Metabase
  • Luxms BI
  • AW BI + Alpha BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Триафлай
  • AI / Исскуственный интеллект
  • Optimacros
  • Навигатор BI
  • Семантический слой

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional
  • TData

Другое

  • Построение Data Platform
    • Аналитическое хранилище данных
    • Data Lake и Data Engineering
    • Подробнее про Data Lake
    • Внедрение Lakehouse
      • Apache Doris
      • StarRocks
      • Trino
    • Миграция витрин из пропиетарных DWH на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс по MLOps и Data Science (ML, AI) » Алгоритм Априори с использованием Python

Алгоритм Априори с использованием Python

Анализ рыночной корзины с использованием алгоритма Априори в машинном обучении

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

 

Что такое майнинг ассоциации?

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

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

 

Как работает алгоритм Априори?

Алгоритм Априори – самый популярный алгоритм для майнинга ассоциативных правил. Он находит самые частые комбинации в базе данных и определяет правила ассоциации между элементами на основе 3 важных факторов:

  1. Поддержка: вероятность того, что X и Y встретятся.
  2. Уверенность: условная вероятность того, что Y связан с X. Другими словами, как часто встречается Y, когда X появляется первым.
  3. Подъем: отношения между поддержкой и уверенностью. Увеличение на 2 означает, что вероятность покупки X и Y вместе в два раза выше, чем вероятность покупки только Y.

 

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

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

 

Анализ рыночной корзины с помощью алгоритма Априори с использованием Python

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

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

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

Я начну эту задачу анализа рыночной корзины с помощью алгоритма Априори с импорта необходимых библиотек Python:

 

import numpy as np # linear algebra
import pandas as pd # data processing
import plotly.express as px
import apyori
from apyori import apriori
 

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

 

1 data = pd.read_csv("Groceries_dataset.csv")
2 data.head()

 

Member_number

Date

itemDescription

1808

21-07-2015

tropical fruit

2552

05-01-2015

whole milk

2300

19-09-2015

pip fruit

1187

12-12-2015

other vegetables

3037

01-02-2015

whole milk

 

Исследование данных

Давайте сначала взглянем на 10 самых продаваемых товаров:

 

print("Top 10 frequently sold products(Tabular Representation)")
x = data['itemDescription'].value_counts().sort_values(ascending=False)[:10]
fig = px.bar(x= x.index, y= x.values)
fig.update_layout(title_text= "Top 10 frequently sold products (Graphical Representation)", xaxis_title= "Products", yaxis_title="Count")
fig.show()

 

 

Теперь давайте рассмотрим более высокие продажи:

 

data["Year"] = data['Date'].str.split("-").str[-1]
data["Month-Year"] = data['Date'].str.split("-").str[1] + "-" + data['Date'].str.split("-").str[-1]
fig1 = px.bar(data["Month-Year"].value_counts(ascending=False),
              orientation= "v",
              color = data["Month-Year"].value_counts(ascending=False),
               labels={'value':'Count', 'index':'Date','color':'Meter'})

fig1.update_layout(title_text="Exploring higher sales by the date")

fig1.show()

 

 

Наблюдения:

Из представленных выше визуализаций мы можем заметить, что:

  1. Больше всего покупают молока, за ним идут овощи.
  2. Большинство покупок происходит в августе/сентябре, а февраль/март – наименее требовательные.

 

Реализация алгоритма Априори на Python

Теперь я реализую алгоритм Априори в машинном обучении, используя язык программирования Python для анализа рыночной корзины:

 

rules = apriori(transactions, min_support = 0.00030, min_confidence = 0.05, min_lift = 3, max_length = 2, target = "rules")
association_results = list(rules)
print(association_results[0])
 

Результат:

RelationRecord(items=frozenset({'liver loaf', 'fruit/vegetable juice'}), support=0.00040098910646260775, ordered_statistics=[OrderedStatistic(items_base=frozenset({'liver loaf'}), items_add=frozenset({'fruit/vegetable juice'}), confidence=0.12, lift=3.5276227897838903)])

 

for item in association_results:
   
    pair = item[0]
    items = [x for x in pair]
   
    print("Rule : ", items[0], " -> " + items[1])
    print("Support : ", str(item[1]))
    print("Confidence : ",str(item[2][0][2]))
    print("Lift : ", str(item[2][0][3]))
   
    print("=============================")

 

Результат:

Rule :  liver loaf  -> fruit/vegetable juice

Support :  0.00040098910646260775

Confidence :  0.12

Lift :  3.5276227897838903

=============================

Rule :  ham  -> pickled vegetables

Support :  0.0005346521419501437

Confidence :  0.05970149253731344

Lift :  3.4895055970149254

=============================

Rule :  roll products   -> meat

Support :  0.0003341575887188398

Confidence :  0.06097560975609757

Lift :  3.620547812620984

=============================

Rule :  misc. beverages  -> salt

Support :  0.0003341575887188398

Confidence :  0.05617977528089888

Lift :  3.5619405827461437

=============================

Rule :  spread cheese  -> misc. beverages

Support :  0.0003341575887188398

Confidence :  0.05

Lift :  3.170127118644068

=============================

Rule :  soups  -> seasonal products

Support :  0.0003341575887188398

Confidence :  0.10416666666666667

Lift :  14.704205974842768

=============================

Rule :  spread cheese  -> sugar

Support :  0.00040098910646260775

Confidence :  0.06

Lift :  3.3878490566037733

=============================

 

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

 

Узнать стоимость решенияЗапросить видео презентацию

← Предыдущая статья
Масштабирование функций в машинном обучении
Следующая статья →
K-ближайшие соседи (KNN) с Python

 

Внедряем AI в бизнес-процессы крупных компаний
От стратегии и инфраструктуры до AI-агентов, интеграций и промышленной эксплуатации.

Подробнее об AI-решениях

 

Запросить видео презентацию Запросить доступ к демо стенду online Узнать стоимость лицензий

Задать вопрос

loading...

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • "Уральский банк реконструкции и развития" входит в топ-25 крупнейших банков России и список значимых кредитных организаций на рынке платежных услуг по версии ЦБ РФ.

  • ООО «Модум-Транс» — независимый оператор грузовых железнодорожных перевозок, лидирующий по количеству инновационного парка на сети РЖД.

  • Нашей компанией был реализован проект автоматизации конвейера данных на базе СПО ETL-инструмента Apache NiFi для клиента ООО «Императорский Монетный Двор» в части актуализации данных, передаваемых из Системы Oracle в Anaplan.

  • Розничный и интернет-магазин 12 Storeez один из лидеров на рынке женской одежды. С географией рынка не только на территории России, своя продукция представлена еще и в таких странах как Казахстан и Дубай.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.