Априорный алгоритм: как он работает? Как бренды могут использовать априорный алгоритм?
Опубликовано: 2020-03-26Представьте, что вы в супермаркете, и у вас в голове есть товары, которые вы хотели купить. Но в итоге вы покупаете гораздо больше, чем предполагалось. Это называется импульсивной покупкой, и бренды используют априорный алгоритм, чтобы использовать это явление. Нажмите, чтобы узнать больше, если вам интересно узнать больше об алгоритмах обработки данных.
Что это за алгоритм? И как это работает? Ответы на эти вопросы вы найдете в этой статье. Сначала мы рассмотрим, что это за алгоритм, а затем как он работает.
Давай начнем.
Оглавление
Что такое априорный алгоритм?
Априорный алгоритм дает вам частые наборы элементов. В его основе лежит априорное свойство, которое можно объяснить следующим образом:
Предположим, что у вашего набора элементов значение поддержки меньше необходимого значения поддержки. Тогда подмножества этого набора элементов также будут иметь меньшую ценность поддержки, чем требуется. Таким образом, вы не будете включать их в свой расчет и в результате сэкономите много места.
Значение поддержки относится к тому, сколько раз конкретный набор элементов появляется в транзакциях. Алгоритм априори довольно популярен из-за его применения в рекомендательных системах. Как правило, вы будете применять этот алгоритм к транзакционным базам данных, то есть к базе данных транзакций. Есть много реальных применений этого алгоритма. Вам также следует ознакомиться с анализом правил ассоциации , чтобы правильно понять алгоритм априори.
Читайте также: Предпосылки для науки о данных. Как она меняется со временем?
Как работает априорный алгоритм?
Алгоритм априори генерирует правила ассоциации, используя частые наборы элементов. Его принцип прост — подмножество часто встречающегося набора также будет часто встречающимся набором. Набор элементов, значение поддержки которого превышает пороговое значение, является частым набором элементов. Рассмотрим следующие данные:
ТИД | Предметы |
Т1 | 1 3 4 |
Т2 | 2 3 5 |
Т3 | 1 2 3 5 |
Т4 | 2 5 |
Т5 | 1 3 5 |
В первой итерации предположим, что значение поддержки равно двум, и создайте наборы элементов с размером 1. Теперь рассчитайте их значения поддержки соответствующим образом. Мы бы отбросили предмет, значение поддержки которого было бы ниже минимального. В данном примере это будет элемент номер четыре.
C1 (Результат первой итерации)
Набор элементов | Служба поддержки |
{1} | 3 |
{2} | 3 |
{3} | 4 |
{4} | 1 |
{5} | 4 |
F1 (после того, как мы отбросим {4})
Набор элементов | Служба поддержки |
{1} | 3 |
{2} | 3 |
{3} | 4 |
{5} | 4 |
Во второй итерации мы сохраним размер наборов элементов два, а затем рассчитаем значения поддержки. В этой итерации мы будем использовать все комбинации таблицы F1. Мы удалим все наборы элементов, у которых значения поддержки меньше двух.
C2 (имеет элементы только в F1)
Набор элементов | Служба поддержки |
{1,2} | 1 |
{1,3} | 3 |
{1,5} | 2 |
{2,3} | 2 |
{2,5} | 3 |
{3,5} | 3 |
F2 (После того, как мы удалим элементы со значениями поддержки ниже 2)
Набор элементов | Служба поддержки |
{1,3} | 3 |
{1,5} | 2 |
{2,3} | 2 |
{2,5} | 3 |
{3,5} | 3 |
Теперь займемся обрезкой. В этом случае мы разделим наборы элементов C3 на подмножества и удалим те, у которых значение поддержки меньше двух.
C3 (после обрезки)
Набор элементов | В Ф2? |
{1,2,3}, {1,2}, {1,3}, {2,3} | НЕТ |
{1,2,5}, {1,2}, {1,5}, {2,5} | НЕТ |
{1,3,5}, {1,5}, {1,3}, {3,5} | ДА |
{2,3,5}, {2,3}, {2,5}, {3,5} | ДА |

В третьей итерации мы отбросим {1,2,5} и {1,2,3}, так как они оба имеют {1,2}. Это основное влияние априорного алгоритма.
F3 (после того, как мы отбросим {1,2,5} и {1,2,3})
Набор элементов | Служба поддержки |
{1,3,5} | 2 |
{2,3,5} | 2 |
В четвертой итерации мы будем использовать наборы F3 для создания C4. однако, поскольку значение поддержки C4 ниже 2, мы не будем продолжать, и окончательный набор элементов будет F3.
С3
Набор элементов | Служба поддержки |
{1,2,3,5} | 1 |
У нас есть следующие наборы предметов с F3:
Для I = {1,3,5} у нас есть подмножества {5}, {3}, {1}, {3,5}, {1,5}, {1,3}
Для I = {2,3,5} у нас есть подмножества {5}, {3}, {2}, {3,5}, {2,5}, {2,3}
Теперь мы создадим и применим правила к набору элементов F3. Для этой цели мы предположим, что минимальное значение достоверности в настоящее время составляет 60%. Для подмножеств S из I мы выводим правило:
- S -> (I,S) (это означает, что S рекомендует IS)
- Если поддержка (I) / поддержка (S) >= значение min_conf
Давайте сделаем это для первого подмножества, которое у нас есть, т.е. {1,3,5}
Правило №1: {1,3} -> ({1,3,5} – {1,3}) это означает 1 и 3-> 5
Значение достоверности = значение поддержки (1,3,5) / значение поддержки (1,3) = ⅔ = 66,66%
Так как результат выше 60%, выбираем Правило №1.
Правило № 2: {1,5} -> {(1,3,5) - {1,5}) это означает 1 и 5 -> 3
Значение достоверности = значение поддержки (1,3,5) / значение поддержки (1,5) = 2/2 = 100%
Так как результат выше 60%, выбираем Правило №2.
Правило №3: {3} -> ({1,3,5} — {3}) это означает 3 -> 1 и 5
Значение достоверности = значение поддержки (1,3,5) / значение поддержки (3) = 2/4 = 50%
Поскольку результат ниже 60%, мы отклоняем Правило №3.
Получите курсы по науке о данных в лучших университетах мира. Присоединяйтесь к нашим программам Executive PG, Advanced Certificate Programs или Masters Programs, чтобы ускорить свою карьеру.
В приведенном выше примере вы можете увидеть, как априорный алгоритм создает и применяет правила. Вы можете выполнить эти шаги для второго набора элементов ({2,3,5}), который у нас есть. Попробовав его, вы, несомненно, получите большой опыт в понимании того, какие правила алгоритм принимает, а какие отвергает. Алгоритм остается прежним в других местах, таких как алгоритм Apriori Python.
Заключение
Мы уверены, что после прочтения этой статьи вы хорошо знакомы с этим алгоритмом и его применением. Благодаря использованию в рекомендательных системах он также стал довольно популярным.
Существует ли более эффективный алгоритм, чем алгоритм Априори?
Алгоритм ECLAT (кластеризация классов эквивалентности и обход решетки снизу вверх) оказался довольно полезным и популярным для анализа правил ассоциации. Кроме того, известно, что он является более эффективным и быстрым алгоритмом по сравнению с алгоритмом Apriori.
Алгоритм Apriori работает горизонтально, поскольку он имитирует поиск графика в ширину, тогда как алгоритм ECLAT работает вертикально, имитируя поиск графика в глубину. Этот вертикальный подход является причиной более высокой скорости и большей эффективности алгоритма ECLAT по сравнению с алгоритмом Apriori.
Для чего полезен априорный алгоритм?
Алгоритм априори — это классический алгоритм, который широко используется в интеллектуальном анализе данных. Это действительно полезно для извлечения соответствующих правил ассоциации, а также частых наборов элементов из доступной базы данных. Обычно этот алгоритм используется организациями, которым приходится работать с базой данных, состоящей из большого количества транзакций. Например, априорный алгоритм позволяет довольно легко определить товары, которые клиенты часто покупают в вашем магазине. Рыночные продажи могут быть значительно улучшены с помощью этого алгоритма.
Помимо этого, этот алгоритм также используется в секторе здравоохранения для обнаружения побочных реакций на лекарства. Алгоритм создает правила ассоциации для определения всех комбинаций характеристик пациента и лекарств, которые могут привести к побочным реакциям на лекарства.
Каковы плюсы и минусы алгоритма Априори?
Алгоритм Apriori довольно прост в реализации, понимании и может быть очень эффективно использован на больших наборах элементов. Иногда может возникнуть необходимость найти большое количество правил-кандидатов, и этот процесс может потребовать больших вычислительных ресурсов. Поскольку он должен пройти через всю базу данных, также дорого рассчитывать поддержку.