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

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

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

Как работает изучение ассоциативных правил?

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

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

  • Доверие – показывает, насколько вероятно, что товар А будет куплен при покупке товара Б, что выражается как (A -> B).

  • Прирост —указывает, насколько вероятно, что товар А будет куплен, при этом контролируя популярность товара Б.

Подъем имеет три возможных значения —

  • Подъем = 1 —  Вероятность появления A и B не зависит друг от друга.
  • Подъем › 1 — определяет, в какой степени A и B зависят друг от друга.
  • Подъем ‹ 1 —это говорит нам о том, что A является заменой B, что означает, что A оказывает негативное влияние на элемент B.

Различные типы изучения правил ассоциации

Обучение правилам ассоциации можно разделить на три алгоритма:

  • Apriori. Этот алгоритм использует частые наборы данных для создания правил ассоциации. Мы применяем итеративный подход или поуровневый поиск, в котором для поиска k+1 наборов элементов используются k-частые наборы элементов. Этот алгоритм использует алгоритм поиска в ширину и хеш-дереводля эффективного расчета набора элементов.
!pip install apyori
from apyori import apriori

transactions = []

#convert the dataset into a list of arrays and the data must be in strings

for i in range(len(df)):
    transactions.append([str(df.values[i, j]) for j in range(len(df[0]))])

rules = apriori(transactions = transactions, 
                min_support = 0.003, 
                min_confidence = 0.2, 
                min_lift = 3, 
                min_length = 2, 
                max_length = 2)

results = list(rules)
  • Eclat —алгоритм Eclat расшифровывается как Преобразование класса эквивалентности. В то время как алгоритм Apriori работает в горизонтальном направлении, имитируя поиск в ширину графа, алгоритм ECLAT работает в вертикальном направлении, как Поиск в глубину графа. Выполняется быстрее, чем априорный алгоритм.
transactions = []

#convert the dataset into a list of arrays and the data must be in strings

for i in range(len(df)):
    transactions.append([str(df.values[i, j]) for j in range(len(df[0]))])

rules = apriori(transactions = transactions, 
                min_support = 0.003, 
                min_length = 2, 
                max_length = 0)

results = list(rules)
  • Рост FP.Алгоритм роста FP расшифровывается как Частый шаблон и представляет собой улучшенную версию априорного алгоритма. Алгоритм роста FP — это альтернативный способ поиска часто встречающихся наборов элементов без использования поколений-кандидатов, что повышает производительность. Он использует стратегию Разделяй и властвуй, и в основе этого метода лежит использование специальной структуры данных, называемой Дерево часто встречающихся шаблонов (FP -tree), который сохраняет информацию об ассоциации набора элементов. Целью этого частого дерева является выделение наиболее часто встречающихся шаблонов.
!pip install pyfpgrowth
import pyfpgrowth

transactions = []

#convert the dataset into a list of arrays and the data must be in strings

for i in range(len(df)):
    transactions.append([str(df.values[i, j]) for j in range(len(df[0]))])

patterns = pyfpgrowth.find_frequent_patterns(transactions, 2)
rules = pyfpgrowth.generate_association_rules(patterns, 0.7)

Применения обучения правилам ассоциации

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

и многое другое…

Спасибо, что прочитали!