logo

Априори алгоритам

Априори алгоритам се односи на алгоритам који се користи за израчунавање правила асоцијације између објеката. То значи како су два или више објеката повезани један са другим. Другим речима, можемо рећи да је априорни алгоритам правило асоцијације које анализира да су људи који су купили производ А такође купили производ Б.

Примарни циљ априорног алгоритма је да створи правило асоцијације између различитих објеката. Правило асоцијације описује како су два или више објеката повезани један са другим. Априори алгоритам се такође назива честим рударењем узорака. Генерално, користите Априори алгоритам на бази података која се састоји од огромног броја трансакција. Хајде да разумемо априорни алгоритам уз помоћ примера; претпоставимо да одете у Биг Базар и купите различите производе. Помаже купцима да са лакоћом купују њихове производе и повећава продајни учинак Великог базара. У овом туторијалу ћемо разговарати о априорном алгоритму са примерима.

Увод

Узимамо пример да боље разумемо концепт. Сигурно сте приметили да продавац пицерије заједно прави комбинацију пице, безалкохолног пића и штапића за хлеб. Он такође нуди попуст њиховим купцима који купују ове комбинације. Да ли икада помислите зашто то ради? Он сматра да купци који купују пицу купују и безалкохолна пића и хлебове. Међутим, правећи комбинације, он олакшава купцима. Истовремено, он такође повећава свој продајни учинак.

Слично, одете на Биг Базар и наћи ћете кексе, чипс и чоколаду у пакету. То показује да продавац омогућава купцима да купе ове производе на истом месту.

Горња два примера су најбољи примери Правила асоцијације у

  • Подршка
  • Самопоуздање
  • Лифт
  • Узмимо пример да бисмо разумели овај концепт.

    Већ смо расправљали горе; потребна вам је огромна база података која садржи велики број трансакција. Претпоставимо да имате 4000 трансакција клијената у Великом Базару. Морате израчунати подршку, самопоуздање и подизање за два производа, а можете рећи и кекс и чоколада. То је зато што купци често купују ова два артикла заједно.

    Од 4000 трансакција, 400 садржи кексе, док 600 садржи чоколаду, а ових 600 трансакција укључује 200 које укључује кексе и чоколаде. Користећи ове податке, сазнаћемо подршку, самопоуздање и подизање.

    Подршка

    Подршка се односи на подразумевану популарност било ког производа. Подршку можете пронаћи као количник дељења броја трансакција које чине тај производ са укупним бројем трансакција. Дакле, добијамо

    Подршка (кекси) = (Трансакције које се односе на кексе) / (Укупно трансакције)

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

    Самопоуздање

    Поверење се односи на могућност да су купци заједно купили и кекс и чоколаде. Дакле, потребно је да поделите број трансакција које се састоје и од кекса и од чоколаде са укупним бројем трансакција да бисте добили поверење.

    Стога,

    Поуздање = (Трансакције које се односе и на кекс и чоколаду) / (Укупне трансакције које укључују кексе)

    = 200/400

    = 50 процената.

    То значи да је 50 одсто купаца који су купили кекс купило и чоколаде.

    Лифт

    Размотрите горњи пример; лифт се односи на повећање односа продаје чоколада када продајете кекс. Математичке једначине подизања су дате у наставку.

    Подизање = (Самопоуздање (кекси - чоколаде)/ (Подршка (кекси)

    = 50/10 = 5

    То значи да је вероватноћа да људи купују и кекс и чоколаду пет пута већа него да купе саме кексе. Ако је вредност повећања испод један, то захтева да људи вероватно неће куповати обе ставке заједно. Што је већа вредност, то је комбинација боља.

    Како функционише Априори алгоритам у рударењу података?

    Овај алгоритам ћемо разумети уз помоћ примера

    Размотрите сценарио Великог базара где је скуп производа П = {пиринач, пулс, уље, млеко, јабука}. База података се састоји од шест трансакција где 1 представља присуство производа, а 0 представља одсуство производа.

    ИД трансакције Пиринач Пулс Оил Милк Аппле
    т1 1 1 1 0 0
    т2 0 1 1 1 0
    т3 0 0 0 1 1
    т4 1 1 0 1 0
    т5 1 1 1 0 1
    т6 1 1 1 1 1

    Априори алгоритам даје дате претпоставке

    • Сви подскупови честог скупа ставки морају бити чести.
    • Подскупови ретког скупа ставки морају бити ретки.
    • Поправите гранични ниво подршке. У нашем случају, ми смо то фиксирали на 50 одсто.

    Корак 1

    Направите табелу учесталости свих производа који се појављују у свим трансакцијама. Сада скратите табелу учесталости да бисте додали само оне производе са нивоом подршке од преко 50 процената. Проналазимо дату табелу фреквенција.

    Производ Учесталост (број трансакција)
    пиринач (Р) 4
    пулс (П) 5
    уље (О) 4
    млеко (М) 4

    У горњој табели су наведени производи које купци често купују.

    Корак 2

    Креирајте парове производа као што су РП, РО, РМ, ПО, ПМ, ОМ. Добићете дату табелу фреквенција.

    Итемсет Учесталост (број трансакција)
    РП 4
    РО 3
    РМ 2
    ПОСЛЕ 4
    ПОСЛЕ ПОДНЕ 3
    О ТОМЕ 2

    Корак 3

    Имплементирајући исти праг подршке од 50 посто и узимајте у обзир производе који су више од 50 посто. У нашем случају, то је више од 3

    Дакле, добијамо РП, РО, ПО и ПМ

    обрада изузетака јава

    Корак 4

    Сада потражите сет од три производа које купци купују заједно. Добијамо дату комбинацију.

    1. РП и РО дају РПО
    2. ПО и ПМ дају ПОМ

    Корак 5

    Израчунајте учесталост два скупа ставки и добићете дату табелу учесталости.

    Итемсет Учесталост (број трансакција)
    РПО 4
    ПОМ 3

    Ако примените претпоставку прага, можете схватити да је скуп купаца од три производа РПО.

    Размотрили смо једноставан пример за разматрање априорног алгоритма у рударењу података. У стварности, можете наћи хиљаде таквих комбинација.

    Како побољшати ефикасност Априори алгоритма?

    Постоје различите методе које се користе за ефикасност Априори алгоритма

    Бројање скупова ставки засновано на хешу

    У бројању скупа ставки засновано на хеш-у, потребно је да искључите к-скуп ставки чији је еквивалентни број хеш корпа најмањи од прага ретког скупа ставки.

    Трансацтион Редуцтион

    У редукцији трансакција, трансакција која не укључује било који чест скуп Кс ставки постаје непроцењива у наредним скенирањима.

    Априори алгоритам у рударењу података

    Већ смо расправљали о примеру априорног алгоритма који се односи на често генерисање скупа ставки. Априори алгоритам има много примена у рударењу података.

    Примарни захтеви за проналажење правила асоцијације у рударењу података су дати у наставку.

    Користите грубу силу

    Анализирајте сва правила и пронађите подршку и нивое поверења за појединачно правило. Након тога, елиминишите вредности које су мање од прага подршке и нивоа поверења.

    Приступи у два корака

    Приступ у два корака је боља опција за проналажење правила асоцијација од методе Бруте Форце.

    Корак 1

    У овом чланку смо већ разговарали о томе како да креирамо табелу учесталости и израчунамо скупове ставки које имају већу вредност подршке од подршке прага.

    Корак 2

    Да бисте креирали правила повезивања, потребно је да користите бинарну партицију честих скупова ставки. Морате изабрати оне са највишим нивоом самопоуздања.

    У горњем примеру можете видети да је РПО комбинација била чест скуп ставки. Сада сазнајемо сва правила користећи РПО.

    РП-О, РО-П, ПО-Р, О-РП, П-РО, Р-ПО

    Можете видети да постоји шест различитих комбинација. Према томе, ако имате н елемената, биће 2н- 2 правила удружења кандидата.

    Предности Априори алгоритма

    • Користи се за израчунавање великих скупова ставки.
    • Једноставан за разумевање и примену.

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

    • Априори алгоритам је скуп метод за проналажење подршке јер прорачун мора да прође кроз целу базу података.
    • Понекад вам је потребан огроман број правила кандидата, па постаје рачунски скупље.