Априорный алгоритм: как он работает? Как бренды могут использовать априорный алгоритм?

Опубликовано: 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 довольно прост в реализации, понимании и может быть очень эффективно использован на больших наборах элементов. Иногда может возникнуть необходимость найти большое количество правил-кандидатов, и этот процесс может потребовать больших вычислительных ресурсов. Поскольку он должен пройти через всю базу данных, также дорого рассчитывать поддержку.