Что ж, ответ кроется в задаче, которую выполняет этот алгоритм. Скажем, вы владелец супермаркета и хотите, чтобы люди легко покупали ваши продукты. Что вы можете сделать, так это запустить этот алгоритм в своем журнале продаж и найти интересные отношения между товарами. Например, вы обнаружите, что люди, которые покупают молоко и хлеб, также склонны покупать масло. Таким образом, вы можете сделать следующие вещи, чтобы улучшить качество вашего магазина:
- Вы можете поставить молоко, хлеб и масло на одну полку, чтобы покупателям одного товара было предложено купить другой товар.
- Вы можете поставить молоко, хлеб и масло на скидку, чтобы увеличить продажи вашего товара.
- Вы также можете настроить таргетинг на покупателей молока или хлеба с помощью рекламы сливочного масла.
- Или вы также можете объединить хлеб и масло в совершенно новый продукт, например, масляный хлеб с легким молочным вкусом, а затем выставить его на продажу.
Не только для увеличения продаж, ассоциативные правила можно использовать и в других областях, например, в медицинской диагностике: понимание того, какие симптомы имеют тенденцию быть сопутствующими, может помочь улучшить уход за пациентами и назначение лекарств.
Как работает изучение ассоциативных правил?
Этот алгоритм подсчитывает частоту дополнительных вхождений или ассоциаций в очень большом наборе данных с более чем тысячами атрибутов. Цель состоит в том, чтобы найти ассоциации, которые встречаются вместе гораздо чаще, чем при случайной выборке возможностей. Итак, для измерения связей между тысячами элементов данных существует несколько метрик. Эти показатели приведены ниже:
- Поддержка — показывает, насколько популярен набор элементов, т. е. используется для определения частоты появления определенного набора элементов в наборе данных.
- Доверие – показывает, насколько вероятно, что товар А будет куплен при покупке товара Б, что выражается как (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)
Применения обучения правилам ассоциации
- Анализ данных корзины —это один из самых популярных примеров изучения ассоциативных правил. Крупные ритейлеры используют этот алгоритм для определения связи между товарами или тем, что ищут покупатели.
- Анализ использования Интернета.Поиск скрытых корреляций — это мощный инструмент прогнозирования для обнаружения новых угроз безопасности и проблем с производительностью сети.
- Медицинский диагноз. С помощью ассоциативных правил будет намного проще вылечить пациентов, так как это помогает определить вероятность болезни для конкретного заболевания.
и многое другое…