Алгоритм Апріорі простою англійською?


9

Я читав статті Вікі про Апріорі. У мене проблеми з розумінням чорносливу та кроку приєднання. Чи може хто-небудь пояснити мені, як алгоритм Apriori працює простими словами (такий, що новачок, як я, може зрозуміти легко)?

Буде добре, якщо хтось пояснить покроковий процес, що бере участь у ньому.


Можливо, вас зацікавить моя реалізація Python .
Мартін Тома

Відповіді:


11

Стаття у Вікіпедії не особливо вражає. Ці слайди можуть бути кориснішими: 1 , 2 , 3 .

На кожному рівні вас є -item наборів, які є частими (мають достатню підтримку). kk

На наступному рівні набори + -item, які потрібно враховувати, повинні мати властивість того, що кожне їх підмножина повинно бути частим (мати достатню підтримку). Це властивість apriori : будь-який підмножина частих наборів предметів має бути частим.k1

Отже, якщо ви знаєте на рівні 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

Алгоритм Апріорі - алгоритм майнінгу правил асоціації, який використовується при обробці даних. Він використовується для пошуку частого набору елементів серед заданої кількості транзакцій.

Він складається в основному з двох етапів

  1. Самостійне приєднання
  2. Обрізка

Повторюючи ці кроки k разів, де k - кількість елементів, в останній ітерації ви отримуєте часті набори елементів, що містять k елементів.

Подивіться тут на дуже просте пояснення з докладним прикладом http://nikhilvithlani.blogspot.com/2012/03/apriori-algorithm-for-data-mining-made.html .

Він має просте пояснення без складних рівнянь.


2
Я залишив це повідомлення, оскільки зазвичай краще надати короткий зміст основних пунктів, які ви хочете підкреслити, а не посилатись на блог без додаткових пояснень. Крім того, метою цього веб-сайту є створення колекції знаних відповідей на конкретні запитання з мінімальними залежностями від звисаючих або ефемерних посилань. Тому, якщо ви не зможете гарантувати, що вищезазначене посилання буде живим через 10 років, скажімо, я настійно рекомендую вам узагальнити його основні моменти у цій відповіді.
chl

1

Апріорі простою англійською мовою.

Apriori використовує ітеративний підхід, відомий як рівний пошук, де k- набір елементів використовується для дослідження (k + 1) -itemsets . По-перше, набір частих наборів 1-го елемента знайдеться шляхом сканування бази даних, щоб накопичити кількість кожного елемента, і зібрати ті елементи, які задовольняють мінімальну підтримку. Отриманий набір позначається як L1 . Далі, L1 використовується для пошуку L2 , набору частих наборів 2-елементів , який використовується для пошуку L3 тощо, поки не знайдеться більш частих наборів k-items . Для знаходження кожного Lk необхідне повне сканування бази даних.

На завершальній ітерації ви отримаєте багато k-items наборів, які в основному називають правилами асоціації . Для вибору цікавих правил із набору всіх можливих правил застосовуються різні обмежувальні заходи, такі як підтримка та впевненість .

Умови та термінології

  • Набір елементів-1 означає {a}, {b}, {c}
  • 2-набір елементів означає {a, b}, {d, d}, {a, c}
  • Набір K-items означає {i1, i2, i3, ... ik}, {j1, j2, j3, .... jk}

Крок приєднання: тобто 1-елементний набір робиться для самостійного приєднання до себе для створення 2-наборових наборів.

Крок чорносливу: тут отриманий набір від з'єднання фільтрується з мінімальним порогом підтримки.

набір кардинальності: отриманий набір від кроку Prune.

Підтримка = немає транзакцій, що містять 'a' та 'b' / загальна кількість транзакцій.

Підтримка => supp (a, b) => p (a U b)

Впевнено = Ніяких транзакцій, що містять 'a' та 'b' / no транзакції, що містять 'a'.

Впевнено => con (a, b) ==> P (b | a) нічого, крім умовної ймовірності.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.