Априорный алгоритм на простом английском?

9

Я прочитал вики статью об Априори. У меня проблемы с пониманием чернослива и шага соединения. Может кто-нибудь объяснить мне, как алгоритм Apriori работает в простых терминах (таких, что новичок, как я, может легко понять)?

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

муравьев
источник
Вы можете быть заинтересованы в моей реализации Python .
Мартин Тома

Ответы:

11

Статья Википедии не особенно впечатляет. Вы можете найти эти слайды более полезными: 1 , 2 , 3 .

На каждом уровне вас есть наборы элементов, которые являются частыми (имеют достаточную поддержку). КК

На следующем уровне наборы + -элементов, которые необходимо учитывать, должны обладать свойством, что каждое из их подмножеств должно быть частым (иметь достаточную поддержку). Это свойство априори : любое подмножество частых предметов должно быть частым.К1

Так что, если вы знаете на уровне 2, что наборы , , и являются единственными наборами с достаточной поддержкой, то на 3-м уровне вы соединяете их друг с другом для создания , , и но вам нужно только рассмотреть далее: у каждого из них есть подмножества с недостаточной поддержкой (например, или ).{1,2}{1,3}{1,5}{3,5}{1,2,3}{1,2,5}{1,3,5}{2,3,5}{1,3,5}{2,3}{2,5}

Генри
источник
2

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

Он состоит в основном из двух шагов

  1. Автообъединение
  2. Обрезка

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

Ищите здесь очень простое объяснение с подробным примером http://nikhilvithlani.blogspot.com/2012/03/apriori-algorithm-for-data-mining-made.html .

У этого есть простое объяснение без каких-либо сложных уравнений.

user1239631
источник
2
Я оставил это сообщение, потому что обычно лучше предоставить краткое изложение основных моментов, которые вы хотите подчеркнуть, а не ссылку на блог без дополнительных объяснений. Кроме того, целью этого сайта является создание набора хорошо осведомленных ответов на конкретные вопросы с минимальной зависимостью от висячих или эфемерных ссылок. Так что, если вы не можете гарантировать, что вышеуказанная ссылка будет действовать через 10 лет, скажу, я настоятельно рекомендую вам обобщить ее основные моменты в настоящем ответе.
ЧЛ
1

Apriori на простом английском.

Apriori использует итеративный подход, известный как поэтапный поиск, где k-наборы элементов используются для изучения (k + 1) -элементов . Во-первых, набор частых 1-элементных наборов определяется путем сканирования базы данных для накопления счетчика для каждого элемента и сбора тех элементов, которые удовлетворяют минимальной поддержке. Результирующий набор обозначается как L1 . Затем L1 используется для поиска L2 , набора частых наборов из 2 элементов , который используется для поиска L3 и т. Д. До тех пор, пока не будут найдены более частые наборы k-элементов . Нахождение каждого Lk требует одного полного сканирования базы данных.

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

Термины и термины

  • 1-элементный набор означает {a}, {b}, {c}
  • 2-элементный набор означает {a, b}, {d, d}, {a, c}
  • K-itemsets означает {i1, i2, i3, ... ik}, {j1, j2, j3, .... jk}

Шаг присоединения: означает, что набор из 1 элемента создан для самостоятельного объединения с самим собой для создания набора из 2 элементов.

Шаг сокращения: здесь результирующий набор из объединения фильтруется с минимальным порогом поддержки.

набор кардинальности: результирующий набор из шага чернослива.

Поддержка = количество транзакций, содержащих «а» и «b» / общее количество транзакций.

Поддержка => Supp (A, B) => P (A U B)

Confident = количество транзакций, содержащих «a» и «b» / нет транзакции, содержащих «a».

Уверенно => con (a, b) ==> P (b | a) только условная вероятность.

shakthydoss
источник