logo

Априорен алгоритъм

Априорният алгоритъм се отнася до алгоритъма, който се използва за изчисляване на правилата за асоцииране между обекти. Това означава как два или повече обекта са свързани един с друг. С други думи, можем да кажем, че априорният алгоритъм е правило за асоцииране, което анализира, че хората, които са купили продукт А, са купили и продукт Б.

Основната цел на априорния алгоритъм е да създаде правило за асоцииране между различни обекти. Правилото за асоцииране описва как два или повече обекта са свързани един с друг. Априорният алгоритъм се нарича още често копаене на шаблони. Обикновено работите с алгоритъма Apriori върху база данни, която се състои от огромен брой транзакции. Нека разберем априорния алгоритъм с помощта на пример; да предположим, че отидете на Big Bazar и купите различни продукти. Той помага на клиентите да купуват продуктите си с лекота и повишава ефективността на продажбите на Big Bazar. В този урок ще обсъдим априорния алгоритъм с примери.

Въведение

Взимаме пример, за да разберем по-добре концепцията. Сигурно сте забелязали, че продавачът в магазина за пица прави комбинация от пица, безалкохолна напитка и хлебни клечки. Той също така предлага отстъпка на своите клиенти, които купуват тези комбинации. Замисляли ли сте се защо го прави? Той смята, че клиентите, които купуват пица, купуват и безалкохолни напитки и хлебни клечки. Въпреки това, като прави комбинации, той улеснява клиентите. В същото време той също така увеличава ефективността на продажбите си.

По същия начин, отидете на Big Bazar и ще намерите бисквити, чипс и шоколад, пакетирани заедно. Това показва, че търговецът улеснява клиентите да купуват тези продукти на едно и също място.

Горните два примера са най-добрите примери за правила за асоцииране в

  • поддържа
  • Увереност
  • Вдигам
  • Нека вземем пример, за да разберем тази концепция.

    който е измислил училището

    Вече обсъдихме по-горе; имате нужда от огромна база данни, съдържаща голям брой транзакции. Да предположим, че имате 4000 клиентски транзакции на Big Bazar. Трябва да изчислите подкрепата, увереността и лифта за два продукта и можете да кажете бисквити и шоколад. Това е така, защото клиентите често купуват тези два артикула заедно.

    От 4000 транзакции, 400 съдържат бисквити, докато 600 съдържат шоколад, а тези 600 транзакции включват 200, които включват бисквити и шоколадови бонбони. Използвайки тези данни, ще открием подкрепата, увереността и лифта.

    поддържа

    Поддръжката се отнася до популярността по подразбиране на всеки продукт. Намирате подкрепата като частно от деленето на броя транзакции, включващи този продукт, на общия брой транзакции. Следователно получаваме

    Поддръжка (Бисквити) = (Транзакции, свързани с бисквити) / (Общо транзакции)

    = 400/4000 = 10 процента.

    Увереност

    Доверието се отнася до възможността клиентите да са купили едновременно бисквити и шоколадови бонбони. Така че трябва да разделите броя на транзакциите, които включват както бисквити, така и шоколадови бонбони, на общия брой транзакции, за да получите увереността.

    следователно

    Доверие = (Транзакции, свързани както с бисквити, така и с шоколад) / (Общо транзакции, включващи бисквити)

    = 200/400

    = 50 процента.

    Това означава, че 50 процента от клиентите, които са купили бисквити, са купили и шоколадови бонбони.

    Вдигам

    Разгледайте горния пример; лифтът се отнася до увеличаването на съотношението на продажбата на шоколадови бонбони, когато продавате бисквити. Математическите уравнения на повдигането са дадени по-долу.

    Повишаване = (Увереност (Бисквити - шоколадови бонбони)/ (Подкрепа (Бисквити)

    = 50/10 = 5

    Това означава, че вероятността хората да купят бисквити и шоколадови бонбони заедно е пет пъти по-голяма от тази да купят бисквитите сами. Ако стойността на лифта е под единица, това изисква хората да не купуват и двата артикула заедно. Колкото по-голяма е стойността, толкова по-добра е комбинацията.

    Как работи алгоритъмът Apriori в Data Mining?

    Ще разберем този алгоритъм с помощта на пример

    Помислете за сценарий на Big Bazar, където наборът от продукти е P = {ориз, варива, олио, мляко, ябълка}. Базата данни включва шест транзакции, където 1 представлява наличието на продукта, а 0 представлява липсата на продукта.

    js onclick
    номер на транзакцията Ориз Пулс Масло Мляко Ябълка
    t1 1 1 1 0 0
    t2 0 1 1 1 0
    t3 0 0 0 1 1
    t4 1 1 0 1 0
    t5 1 1 1 0 1
    t6 1 1 1 1 1

    Алгоритъмът Apriori прави дадените допускания

    • Всички подмножества на често срещан набор от елементи трябва да бъдат чести.
    • Подмножествата на набор от рядко срещани елементи трябва да са редки.
    • Коригирайте прагово ниво на поддръжка. В нашия случай сме го фиксирали на 50 процента.

    Етап 1

    Направете честотна таблица на всички продукти, които се появяват във всички транзакции. Сега съкратете честотната таблица, за да добавите само тези продукти с прагово ниво на поддръжка над 50 процента. Намираме дадената честотна таблица.

    Продукт Честота (Брой транзакции)
    ориз (R) 4
    Пулс (P) 5
    масло (O) 4
    Мляко (M) 4

    Таблицата по-горе показва продуктите, които клиентите често купуват.

    Стъпка 2

    Създайте двойки продукти като RP, RO, RM, PO, PM, OM. Ще получите дадената честотна таблица.

    if-else java
    Комплект артикули Честота (Брой транзакции)
    RP 4
    RO 3
    RM 2
    СЛЕД 4
    PM 3
    ОТНОСНО 2

    Стъпка 3

    Внедряване на същата прагова поддръжка от 50 процента и разглеждане на продуктите, които са над 50 процента. В нашия случай е повече от 3

    Така получаваме RP, RO, PO и PM

    Стъпка 4

    Сега потърсете набор от три продукта, които клиентите купуват заедно. Получаваме дадената комбинация.

    1. RP и RO дават RPO
    2. PO и PM дават POM

    Стъпка 5

    Изчислете честотата на двата набора от елементи и ще получите дадената честотна таблица.

    проверете версията на java на linux
    Комплект артикули Честота (Брой транзакции)
    RPO 4
    POM 3

    Ако приложите предположението за праг, можете да разберете, че наборът от три продукта на клиентите е RPO.

    Разгледахме лесен пример за обсъждане на априорния алгоритъм в извличането на данни. В действителност можете да намерите хиляди такива комбинации.

    Как да подобрим ефективността на алгоритъма Apriori?

    Има различни методи, използвани за ефективността на алгоритъма Apriori

    Преброяване на набор от елементи на базата на хеш

    При преброяване на набор от елементи, базирано на хеширане, трябва да изключите k-набора от елементи, чийто еквивалентен брой на кофи за хеширане е най-малък от прага, е рядък набор от елементи.

    Намаляване на транзакцията

    При редукция на транзакция, транзакция, която не включва чести X елементи, става безценна при последващи сканирания.

    Априори алгоритъм в извличането на данни

    Вече обсъдихме пример за априорния алгоритъм, свързан с честото генериране на набор от елементи. Алгоритъмът Apriori има много приложения в извличането на данни.

    Основните изисквания за намиране на правилата за асоцииране при извличане на данни са дадени по-долу.

    Използвайте груба сила

    Анализирайте всички правила и намерете подкрепата и нивата на доверие за отделното правило. След това елиминирайте стойностите, които са по-ниски от праговата подкрепа и нивата на доверие.

    Двустепенните подходи

    Подходът в две стъпки е по-добър вариант за намиране на правилата за асоцииране от метода Brute Force.

    Етап 1

    В тази статия вече обсъдихме как да създадем честотната таблица и да изчислим набори от артикули с по-голяма стойност на поддръжка от тази на праговата поддръжка.

    Стъпка 2

    масив, сортиран в java

    За да създадете правила за асоцииране, трябва да използвате двоичен дял на често срещаните набори от елементи. Трябва да изберете тези, които имат най-високи нива на доверие.

    В горния пример можете да видите, че RPO комбинацията е често срещаният набор от елементи. Сега откриваме всички правила, използвайки RPO.

    RP-O, RO-P, PO-R, O-RP, P-RO, R-PO

    Можете да видите, че има шест различни комбинации. Следователно, ако имате n елемента, ще има 2н- 2 правила за асоцииране на кандидати.

    Предимства на априорния алгоритъм

    • Използва се за изчисляване на големи набори от елементи.
    • Лесен за разбиране и прилагане.

    Недостатъци на априорните алгоритми

    • Алгоритъмът Apriori е скъп метод за намиране на поддръжка, тъй като изчислението трябва да премине през цялата база данни.
    • Понякога се нуждаете от огромен брой кандидат-правила, така че става изчислително по-скъпо.