|
Îäíîé èç íàèáîëåå ðàñïðîñòðàí¸ííûõ çàäà÷ àíàëèçà äàííûõ ÿâëÿåòñÿ îïðåäåëåíèå
÷àñòî âñòðå÷àþùèõñÿ
íàáîðîâ îáúåêòîâ â áîëüøîì ìíîæåñòâå íàáîðîâ.
Âïåðâûå
ýòî çàäà÷à áûëà ïðåäëîæåíà ïîèñêà àññîöèàòèâíûõ ïðàâèë äëÿ íàõîæäåíèÿ òèïè÷íûõ
øàáëîíîâ ïîêóïîê,
ñîâåðøàåìûõ â ñóïåðìàðêåòàõ, ïîýòîìó èíîãäà åå åùå
íàçûâàþò àíàëèçîì ðûíî÷íîé êîðçèíû (market basket analysis).
Ïóñòü èìååòñÿ áàçà äàííûõ, ñîñòîÿùàÿ èç ïîêóïàòåëüñêèõ òðàíçàêöèé.
Êàæäàÿ
òðàíçàêöèÿ – ýòî íàáîð òîâàðîâ, êóïëåííûõ ïîêóïàòåëåì çà îäèí âèçèò. Òàêóþ
òðàíçàêöèþ åùå íàçûâàþò ðûíî÷íîé êîðçèíîé.
Ïóñòü I =
{ii,i2,...,ij,...,in}
– ìíîæåñòâî (íàáîð) òîâàðîâ (îáúåêòîâ) îáùèì ÷èñëîì n.
Ïóñòü D – ìíîæåñòâî
òðàíçàêöèé D =
{T1,T2,Tr,...,Tm},
ãäå êàæäàÿ òðàíçàêöèÿ T – ýòî íàáîð ýëåìåíòîâ èç I. .
 ñôåðå òîðãîâëè, íàïðèìåð, òàêèìè îáúåêòàìè ÿâëÿþòñÿ òîâàðû, ïðåäñòàâëåííûå
â ïðàéñ-ëèñòå:
Èäåíòèôèêàòîð | Íàèìåíîâàíèå òîâàðà | Öåíà |
---|---|---|
0 | Øîêîëàä | 30 |
1 | Õëåá | 12 |
2 | Ìàñëî | 10 |
3 | Âîäà | 4 |
4 | Ìîëîêî | 14 |
5 | Îðåõè | 15 |
Îíè ñîîòâåòñòâóþò ñëåäóþùåìó ìíîæåñòâó îáúåêòîâ: I={øîêîëàä, õëåá, ìàñëî,
âîäà, ìîëîêî, îðåõè}.
Ïðèìåðàìè òðàíçàêöèé ìîãóò áûòü T1 = { õëåá, ìàñëî, ìîëîêî }, T2 = { øîêîëàä, âîäà, îðåõè
}.
Ìíîæåñòâî òðàíçàêöèé, â êîòîðûå âõîäèò îáúåêò ij, îáîçíà÷èì ñëåäóþùèì
îáðàçîì:
.
Ìíîæåñòâî D ìîæåò
áûòü ïðåäñòàâëåíî ñëåäóþùèì îáðàçîì:
Íîìåð òðàíçàêöèè | Íîìåð òîâàðà | Íàèìåíîâàíèå òîâàðà | Öåíà |
---|---|---|---|
0 | 1 | Õëåá | 12 |
0 | 3 | Âîäà | 4 |
0 | 4 | Ìîëîêî | 14 |
1 | 2 | Ìàñëî | 10 |
1 | 3 | Âîäà | 4 |
1 | 5 | Îðåõè | 15 |
2 | 5 | Îðåõè | 15 |
2 | 2 | Ìàñëî | 10 |
2 | 1 | Õëåá | 12 |
2 | 2 | Ìàñëî | 10 |
2 | 3 | Âîäà | 4 |
3 | 2 | Ìàñëî | 10 |
3 | 5 | Îðåõè | 15 |
3 | 2 | Ìàñëî | 10 |
 äàííîì ïðèìåðå, ìíîæåñòâîì òðàíçàêöèé, ñîäåðæàùèì îáúåêò "Âîäà",
ÿâëÿåòñÿ ñëåäóþùåå ìíîæåñòâî:
D(âîäà) = {{ õëåá, âîäà, ìîëîêî }, { ìàñëî, âîäà, îðåõè }, { îðåõè, ìàñëî, õëåá, ìàñëî, âîäà }}.
Íåêîòîðûé ïðîèçâîëüíûé íàáîð îáúåêòîâ (itemset) îáîçíà÷èì ñëåäóþùèì
îáðàçîì:
, íàïðèìåð F = {õëåá,
ìàñëî}.
Íàáîð, ñîñòîÿùèé èç k ýëåìåíòîâ, íàçûâàåòñÿ k-ýëåìåíòíûì
íàáîðîì.
Ìíîæåñòâî òðàíçàêöèé, â êîòîðûå âõîäèò íàáîð F, îáîçíà÷èì ñëåäóþùèì
îáðàçîì:
.
 äàííîì ïðèìåðå:
D(ìàñëî, âîäà) = {{ ìàñëî, âîäà, îðåõè }, { îðåõè, ìàñëî, õëåá, ìàñëî, âîäà }}.
Îòíîøåíèå êîëè÷åñòâà òðàíçàêöèé, â êîòîðîå âõîäèò íàáîð F, ê îáùåìó
êîëè÷åñòâó òðàíçàêöèé
íàçûâàåòñÿ ïîääåðæêîé (support) íàáîðà F è îáîçíà÷àåòñÿ
Supp(F):
.
Äëÿ íàáîðà {
ìàñëî, âîäà } ïîääåðæêà áóäåò ðàâíà 0,5, ò.ê. äàííûé íàáîð âõîäèò â äâå
òðàíçàêöèè
ñ íîìåðàìè 1 è 2, à âñåãî òðàíçàêöèé ÷åòûðå.
Ïðè ïîèñêå
àíàëèòèê ìîæåò óêàçàòü ìèíèìàëüíîå çíà÷åíèå ïîääåðæêè èíòåðåñóþùèõ åãî íàáîðîâ
Suppmin.
Íàáîð
íàçûâàåòñÿ ÷àñòûì (large itemset), åñëè çíà÷åíèå åãî ïîääåðæêè áîëüøå
ìèíèìàëüíîãî çíà÷åíèÿ ïîääåðæêè,
çàäàííîãî ïîëüçîâàòåëåì: Supp(F) >
Suppmin.
Òàêèì
îáðàçîì, ïðè ïîèñêå àññîöèàòèâíûõ ïðàâèë òðåáóåòñÿ íàéòè ìíîæåñòâî âñåõ ÷àñòûõ
íàáîðîâ:
L = {F |
Supp(F) >
Suppmin}.
Â
äàííîì ïðèìåðå ÷àñòûìè íàáîðàìè ïðè Suppmin
= 0,5 ÿâëÿþòñÿ ñëåäóþùèå:
{õëåá}Suppmin = 0,5;
{õëåá, âîäà}Suppmin = 0,5;
{ìàñëî}Suppmin = 0,75;
{ìàñëî, âîäà}Suppmin = 0,5;
{ìàñëî, âîäà, îðåõè}Suppmin = 0,5;
{ìàñëî, îðåõè}Suppmin = 0,75;
{âîäà}Suppmin = 0,75;
{âîäà, îðåõè}Suppmin = 0,5;
{îðåõè}Suppmin = 0,75;
Ðåøåíèå çàäà÷è ïîèñêà àññîöèàòèâíûõ ïðàâèë, êàê è ëþáîé çàäà÷è, ñâîäèòñÿ ê
îáðàáîòêå
èñõîäíûõ äàííûõ è ïîëó÷åíèþ ðåçóëüòàòîâ. Ðåçóëüòàòû, ïîëó÷àåìûå ïðè
ðåøåíèè äàííîé çàäà÷è
ïðèíÿòî ïðåäñòàâëÿòü â âèäå àññîöèàòèâíûõ ïðàâèë. Â
ñâÿçè ñ ýòèì â èõ ïîèñêå âûäåëÿþ äâà ýòàïà:
Àññîöèàòèâíûå ïðàâèëà èìåþò ñëåäóþùèé âèä:
åñëè (óñëîâèå), òî (ðåçóëüòàò),
ãäå óñëîâèå - îáû÷íî íå ëîãè÷åñêîå âûðàæåíèå (êàê â êëàññèôèêàöèîííûõ
ïðàâèëàõ),
à íàáîð îáúåêòîâ èç ìíîæåñòâà I, ñ êîòîðûì ñâÿçàíû
(àññîöèèðîâàíû) îáúåêòû, âêëþ÷åííûå
â ðåçóëüòàò äàííîãî
ïðàâèëà.
Íàïðèìåð, àññîöèàòèâíîå ïðàâèëî: "åñëè (ìîëîêî, ìàñëî), òî (õëåá)"
îçíà÷àåò, ÷òî åñëè
ïîòðåáèòåëü ïîêóïàåò ìîëîêî è ìàñëî, òî îí ïîêóïàåò è
õëåá.
Îñíîâíûì äîñòîèíñòâîì àññîöèàòèâíûõ ïðàâèë ÿâëÿåòñÿ èõ ë¸ãêîå
âîñïðèÿòèå ÷åëîâåêîì è
ïðîñòàÿ èíòåðïðåòàöèÿ ÿçûêàìè ïðîãðàììèðîâàíèÿ.
Îäíàêî, îíè íå âñåãäà ïîëåçíû.
Âûäåëÿþò òðè âèäà ïðàâèë:
Àññîöèàòèâíûå ïðàâèëà ñòðîÿòñÿ íà îñíîâå ÷àñòûõ íàáîðîâ. Òàê ïðàâèëà,
ïîñòðîåííûå íà îñíîâàíèè íàáîðà F,
ÿâëÿþòñÿ âîçìîæíûìè êîìáèíàöèÿìè
îáúåêòîâ, âõîäÿùèõ â íåãî.
Íàïðèìåð, äëÿ íàáîðà {ìàñëî, âîäà, îðåõè}, ìîãóò
áûòü ïîñòðîåíû ñëåäóþùèå ïðàâèëà:
åñëè (ìàñëî), òî (âîäà); åñëè (ìàñëî), òî (îðåõè); åñëè (ìàñëî), òî (âîäà, îðåõè); åñëè (âîäà), òî (ìàñëî); åñëè (âîäà), òî (îðåõè); åñëè (âîäà), òî (ìàñëî, îðåõè); åñëè (îðåõè), òî (ìàñëî); åñëè (îðåõè), òî (âîäà); åñëè (îðåõè), òî (ìàñëî, âîäà); åñëè (ìàñëî, âîäà), òî (îðåõè); åñëè (ìàñëî, îðåõè), òî (âîäà); åñëè (âîäà, îðåõè), òî (ìàñëî);
Òàêèì îáðàçîì, êîëè÷åñòâî àññîöèàòèâíûõ ïðàâèë ìîæåò áûòü î÷åíü áîëüøèì è
òðóäíîâîñïðèíèìàåìûì äëÿ ÷åëîâåêà.
Ê òîìó æå, íå âñå èç ïîñòðîåííûõ ïðàâèë
íåñóò â ñåáå ïîëåçíóþ èíôîðìàöèþ.
Äëÿ îöåíêè èõ ïîëåçíîñòè ââîäÿòñÿ
ñëåäóþùèå âåëè÷èíû:
Ïîääåðæêà(support) - ïîêàçûâàåò, êàêîé ïðîöåíò
òðàíçàêöèé ïîääåðæèâàåò äàííîå ïðàâèëî.
Òàê êàê ïðàâèëî ñòðîèòñÿ íà îñíîâàíèè
íàáîðà, òî, çíà÷èò, ïðàâèëî X=>Y èìååò ïîääåðæêó, ðàâíóþ ïîääåðæêå íàáîðà
F,
êîòîðûé ñîñòàâëÿþò X è Y:
.
Î÷åâèäíî, ÷òî
ïðàâèëà, ïîñòðîåííûå íà îñíîâàíèè îäíîãî è òîãî æå íàáîðà, èìåþò îäèíàêîâóþ
ïîääåðæêó,
íàïðèìåð, ïîääåðæêà Supp(åñëè (âîäà, ìàñëî), òî (îðåõè) =
Supp(âîäà, ìàñëî, îðåõè) = 0,5.
Äîñòîâåðíîñòü(confidence) - ïîêàçûâàåò âåðîÿòíîñòü òîãî, ÷òî èç
íàëè÷èÿ â òðàíçàêöèè íàáîðà X ñëåäóåò íàëè÷èå â íåé íàáîðà Y.
Äîñòîâåðíîñòüþ
ïðàâèëà X=>Y ÿâëÿåòñÿ îòíîøåíèå ÷èñëà òðàíçàêöèé, ñîäåðæàùèõ X è Y, ê ÷èñëó
òðàíçàêöèé, ñîäåðæàùèõ íàáîð Õ:
.
Î÷åâèäíî, ÷òî ÷åì
áîëüøå äîñòîâåðíîñòü, òåì ïðàâèëî ëó÷øå, ïðè÷åì ó ïðàâèë, ïîñòðîåííûõ íà
îñíîâàíèè îäíîãî è òîãî æå íàáîðà,
äîñòîâåðíîñòü áóäåò ðàçíàÿ,
íàïðèìåð:
Conf(åñëè (âîäà), òî (îðåõè)) = 2/3; Conf(åñëè (îðåõè), òî (âîäà)) = 2/3; Conf(åñëè (âîäà, ìàñëî), òî (îðåõè)) = 1; Conf(åñëè (âîäà), òî (îðåõè, ìàñëî)) = 2/3.
Ê ñîæàëåíèþ, äîñòîâåðíîñòü íå ïîçâîëÿåò îïðåäåëèòü ïîëåçíîñòü ïðàâèëà. Åñëè
ïðîöåíò íàëè÷èÿ â òðàíçàêöèÿõ íàáîðà Y
ïðè óñëîâèè íàëè÷èÿ â íåì íàáîðà Õ
ìåíüøå, ÷åì ïðîöåíò áåçóñëîâíîãî íàëè÷èÿ íàáîðà Y, ò.å.:
.
Ýòî çíà÷èò, ÷òî
âåðîÿòíîñòü ñëó÷àéíî óãàäàòü íàëè÷èå â òðàíçàêöèè íàáîðà Y áîëüøå, ÷åì
ïðåäñêàçàòü ýòî ñ ïîìîùüþ ïðàâèëà X=>Y.
Äëÿ èñïðàâëåíèÿ òàêîé ñèòóàöèè
ââîäèòñÿ ìåðà - óëó÷øåíèå.
Óëó÷øåíèå(improvement) - ïîêàçûâàåò,
ïîëåçíåå ëè ïðàâèëî ñëó÷àéíîãî óãàäûâàíèÿ. Óëó÷øåíèå ïðàâèëà ÿâëÿåòñÿ
îòíîøåíèåì
÷èñëà òðàíçàêöèé, ñîäåðæàùèõ íàáîðû X è Y, ê ïðîèçâåäåíèþ
êîëè÷åñòâà òðàíçàêöèé, ñîäåðæàùèõ íàáîð Õ, è êîëè÷åñòâà
òðàíçàêöèé,
ñîäåðæàùèõ íàáîð Y:
.
Íàïðèìåð,
impr(åñëè (âîäà, ìàñëî), òî (îðåõè) = 0,5/(0,5*0,5) = 2.
Åñëè óëó÷øåíèå
áîëüøå åäèíèöû, òî ýòî çíà÷èò, ÷òî ñ ïîìîùüþ ïðàâèëà ïðåäñêàçàòü íàëè÷èå íàáîðà
Y âåðîÿòíåå, ÷åì ñëó÷àéíîå óãàäûâàíèå,
åñëè ìåíüøå åäèíèöû, òî íàîáîðîò.
Â
ïîñëåäíåì ñëó÷àå ìîæíî èñïîëüçîâàòü îòðèöàòåëüíîå ïðàâèëî, ò.å. ïðàâèëî, êîòîðîå
ïðåäñêàçûâàåò îòñóòñòâèå íàáîð Y:
X => íå Y.
Ïðàâäà, íà ïðàêòèêå òàêèå
ïðàâèëà ìàëî ïðèìåíèìû. Íàïðèìåð, ïðàâèëî: "åñëè (âîäà, ìàñëî), òî íå (ìîëîêî)"
ìàëî ïîëåçíî,
ò.ê. ñëàáî âûðàæàåò ïîâåäåíèå ïîêóïàòåëÿ.
Äàííûå îöåíêè
èñïîëüçóþòñÿ ïðè ãåíåðàöèè ïðàâèë. Àíàëèòèê ïðè ïîèñêå àññîöèàòèâíûõ ïðàâèë
çàäàåò ìèíèìàëüíûå çíà÷åíèÿ ïåðå÷èñëåííûõ âåëè÷èí.  ðåçóëüòàòå òå ïðàâèëà,
êîòîðûå íå óäîâëåòâîðÿþò ýòèì óñëîâèÿì,
îòáðàñûâàþòñÿ è íå âêëþ÷àþòñÿ â
ðåøåíèå çàäà÷è. Ñ ýòîé òî÷êè çðåíèÿ íåëüçÿ îáúåäèíÿòü ðàçíûå ïðàâèëà, õîòÿ è
èìåþùèå
îáùóþ ñìûñëîâóþ íàãðóçêó.
Íàïðèìåð, ñëåäóþùèå ïðàâèëà:
X = i1,i2 = > Y = i3,
X = i1,i2 = > Y = i4,
íåëüçÿ îáúåäèíèòü â îäíî:
X = i1,i2 = > Y = i3,i4,
ò.ê. äîñòîâåðíîñòè èõ áóäóò ðàçíûå, ñëåäîâàòåëüíî, íåêîòîðûå èç íèõ ìîãóò
áûòü èñêëþ÷åíû, à íåêîòîðûå - íåò.
Âûÿâëåíèå ÷àñòî âñòðå÷àþùèõñÿ íàáîðîâ ýëåìåíòîâ – îïåðàöèÿ, òðåáóþùàÿ ìíîãî
âû÷èñëèòåëüíûõ ðåñóðñîâ è, ñîîòâåòñòâåííî, âðåìåíè.
Ïðèìèòèâíûé ïîäõîä ê
ðåøåíèþ äàííîé çàäà÷è – ïðîñòîé ïåðåáîð âñåõ âîçìîæíûõ íàáîðîâ ýëåìåíòîâ.
Ýòî ïîòðåáóåò O(2 | I |
) îïåðàöèé, ãäå |I| – êîëè÷åñòâî ýëåìåíòîâ.
Apriori èñïîëüçóåò
îäíî èç ñâîéñòâ ïîääåðæêè, ãëàñÿùåå: ïîääåðæêà ëþáîãî íàáîðà ýëåìåíòîâ íå ìîæåò
ïðåâûøàòü
ìèíèìàëüíîé ïîääåðæêè ëþáîãî èç åãî ïîäìíîæåñòâ. Íàïðèìåð,
ïîääåðæêà 3-ýëåìåíòíîãî íàáîðà {Õëåá, Ìàñëî, Ìîëîêî}
áóäåò âñåãäà ìåíüøå èëè
ðàâíà ïîääåðæêå 2-ýëåìåíòíûõ íàáîðîâ {Õëåá, Ìàñëî}, {Õëåá, Ìîëîêî}, {Ìàñëî,
Ìîëîêî}.
Äåëî â òîì, ÷òî ëþáàÿ òðàíçàêöèÿ, ñîäåðæàùàÿ {Õëåá, Ìàñëî, Ìîëîêî},
òàêæå äîëæíà ñîäåðæàòü {Õëåá, Ìàñëî}, {Õëåá, Ìîëîêî}, {Ìàñëî, Ìîëîêî},
ïðè÷åì îáðàòíîå íå âåðíî.
Ýòî ñâîéñòâî íîñèò íàçâàíèå
àíòè-ìîíîòîííîñòè è ñëóæèò äëÿ ñíèæåíèÿ ðàçìåðíîñòè ïðîñòðàíñòâà ïîèñêà.
Íå
èìåé ìû â íàëè÷èè òàêîãî ñâîéñòâà, íàõîæäåíèå ìíîãîýëåìåíòíûõ íàáîðîâ áûëî áû
ïðàêòè÷åñêè íåâûïîëíèìîé çàäà÷åé
â ñâÿçè ñ ýêñïîíåíöèàëüíûì ðîñòîì
âû÷èñëåíèé.
Ñâîéñòâó àíòè-ìîíîòîííîñòè ìîæíî äàòü è äðóãóþ ôîðìóëèðîâêó:
ñ ðîñòîì ðàçìåðà íàáîðà ýëåìåíòîâ ïîääåðæêà óìåíüøàåòñÿ,
ëèáî îñòàåòñÿ òàêîé
æå. Èç âñåãî âûøåñêàçàííîãî ñëåäóåò, ÷òî ëþáîé k-ýëåìåíòíûé íàáîð áóäåò ÷àñòî
âñòðå÷àþùèìñÿ òîãäà è òîëüêî òîãäà,
êîãäà âñå åãî (k-1)-ýëåìåíòíûå
ïîäìíîæåñòâà áóäóò ÷àñòî âñòðå÷àþùèìèñÿ.
Âñå âîçìîæíûå íàáîðû ýëåìåíòîâ
èç I ìîæíî ïðåäñòàâèòü â âèäå ðåøåòêè, íà÷èíàþùåéñÿ ñ ïóñòîãî ìíîæåñòâà, çàòåì
íà 1 óðîâíå 1-ýëåìåíòíûå íàáîðû, íà 2-ì – 2-ýëåìåíòíûå è ò.ä. Íà k óðîâíå
ïðåäñòàâëåíû k-ýëåìåíòíûå íàáîðû,
ñâÿçàííûå ñî âñåìè ñâîèìè
(k-1)-ýëåìåíòíûìè ïîäìíîæåñòâàìè.
Ðàññìîòðèì ðèñóíîê, èëëþñòðèðóþùèé
íàáîð ýëåìåíòîâ I – {A, B, C, D}.
Ïðåäïîëîæèì, ÷òî íàáîð èç ýëåìåíòîâ {A, B}
èìååò ïîääåðæêó íèæå çàäàííîãî ïîðîãà è, ñîîòâåòñòâåííî, íå ÿâëÿåòñÿ ÷àñòî
âñòðå÷àþùèìñÿ.
Òîãäà, ñîãëàñíî ñâîéñòâó àíòè-ìîíîòîííîñòè, âñå åãî
ñóïåðìíîæåñòâà òàêæå íå ÿâëÿþòñÿ ÷àñòî âñòðå÷àþùèìèñÿ è îòáðàñûâàþòñÿ.
Âñÿ
ýòà âåòâü, íà÷èíàÿ ñ {A, B}, âûäåëåíà ôîíîì. Èñïîëüçîâàíèå ýòîé ýâðèñòèêè
ïîçâîëÿåò ñóùåñòâåííî ñîêðàòèòü ïðîñòðàíñòâî ïîèñêà.
Àëãîðèòì Apriori îïðåäåëÿåò ÷àñòî âñòðå÷àþùèåñÿ íàáîðû çà íåñêîëüêî
ýòàïîâ.
Íà i-îì ýòàïå îïðåäåëÿþòñÿ âñå ÷àñòî âñòðå÷àþùèåñÿ i-ýëåìåíòíûå
íàáîðû. Êàæäûé ýòàï ñîñòîèò èç äâóõ øàãîâ:
Ðàññìîòðèì i-ûé ýòàï. Íà øàãå ôîðìèðîâàíèÿ êàíäèäàòîâ àëãîðèòì ñîçäàåò
ìíîæåñòâî êàíäèäàòîâ èç i-ýëåìåíòíûõ íàáîðîâ,
÷üÿ ïîääåðæêà ïîêà íå
âû÷èñëÿåòñÿ. Íà øàãå ïîäñ÷åòà êàíäèäàòîâ àëãîðèòì ñêàíèðóåò ìíîæåñòâî
òðàíçàêöèé,
âû÷èñëÿÿ ïîääåðæêó íàáîðîâ-êàíäèäàòîâ. Ïîñëå ñêàíèðîâàíèÿ
îòáðàñûâàþòñÿ êàíäèäàòû, ïîääåðæêà êîòîðûõ ìåíüøå
îïðåäåëåííîãî ïîëüçîâàòåëåì
ìèíèìóìà, è ñîõðàíÿþòñÿ òîëüêî ÷àñòî âñòðå÷àþùèåñÿ i-ýëåìåíòíûå íàáîðû.
Âî
âðåìÿ ïåðâîãî ýòàïà âûáðàííîå ìíîæåñòâî íàáîðîâ-êàíäèäàòîâ ñîäåðæèò âñå
îäíî-ýëåìåíòíûå ÷àñòûå íàáîðû.
Àëãîðèòì âû÷èñëÿåò èõ ïîääåðæêó âî âðåìÿ øàãà
ïîäñ÷¸òà ïîääåðæêè êàíäèäàòîâ.
Îïèñàííûé àëãîðèòì ìîæíî çàïèñàòü â âèäå
ñëåäóþùåãî ïñåâäîêîäà:
1. L1 = {÷àñòî âñòðå÷àþùèåñÿ 1-ýëåìåíòíûå íàáîðû} 2. äëÿ (k=2; Lk-1 <> ; k++) { 3. Ck = Apriorigen(Lk-1) // ãåíåðàöèÿ êàíäèäàòîâ 4. äëÿ âñåõ òðàíçàêöèé t T { 5. Ct = subset(Ck, t) // óäàëåíèå èçáûòî÷íûõ ïðàâèë 6. äëÿ âñåõ êàíäèäàòîâ c Ct 7. c.count ++ 8. } 9. Lk = { c Ck | c.count >= minsupport} // îòáîð êàíäèäàòîâ 10. } 11. Ðåçóëüòàò
Îáîçíà÷åíèÿ, èñïîëüçóåìûå â àëãîðèòìå:
Lk =
{(F1,Supp1),(F2,Supp2),...,(Fq,Suppq)},
ãäå
Fj =
{i1,i2,...,ik};
Îïèøåì äàííûé àëãîðèòì ïî øàãàì.
Øàã 1. Ïðèñâîèòü k = 1 è âûïîëíèòü
îòáîð âñåõ 1-ýëåìåíòíûõ íàáîðîâ, ó êîòîðûõ ïîääåðæêà áîëüøå ìèíèìàëüíî çàäàííîé
ïîëüçîâàòåëåì Suppmin.
Øàã
2. k = k + 1.
Øàã 3. Åñëè íå óäàåòñÿ ñîçäàâàòü k-ýëåìåíòíûå
íàáîðû, òî çàâåðøèòü àëãîðèòì, èíà÷å âûïîëíèòü ñëåäóþùèé øàã.
Øàã 4.
Ñîçäàòü ìíîæåñòâî k-ýëåìåíòíûõ íàáîðîâ êàíäèäàòîâ èç ÷àñòûõ íàáîðîâ. Äëÿ ýòîãî
íåîáõîäèìî îáúåäèíèòü â k-ýëåìåíòíûå êàíäèäàòû (k-1)-ýëåìåíòíûå ÷àñòûå íàáîðû.
Êàæäûé êàíäèäàò áóäåò ôîðìèðîâàòüñÿ
ïóò¸ì äîáàâëåíèÿ ê (k-1)-ýëåìåíòíîìó ÷àñòîìó íàáîðó - p ýëåìåíòà èç äðóãîãî
(k-1)-ýëåìåíòíîãî ÷àñòîãî íàáîðà - q. Ïðè÷åì äîáàâëÿåòñÿ ïîñëåäíèé ýëåìåíò
íàáîðà q, êîòîðûé ïî ïîðÿäêó âûøå, ÷åì ïîñëåäíèé ýëåìåíò íàáîðà p (p.itemk − 1
< q.itemk − 1).
Ïðè ýòîì âñå k-2 ýëåìåíòà îáîèõ íàáîðîâ îäèíàêîâû (p.item1 =
q.item1,p.item2
=
q.item2,...,p.itemk
− 2 = q.itemk −
2).
Ýòî ìîæåò áûòü çàïèñàíî â âèäå SQL-ïîäîáíîãî
çàïðîñà:
insert into Ck select p.item1,p.item2,...,p.itemk − 1,q.itemk − 1 from Lk − 1p,Lk − 1q where p.item1 = q.item1,p.item2 = q.item2,...,p.itemk − 2 = q.itemk − 2,p.itemk − 1 < q.itemk − 1
Øàã 5. Äëÿ êàæäîé òðàíçàêöèè T èç ìíîæåñòâà D âûáðàòü êàíäèäàòîâ Ct èç ìíîæåñòâà Ck, ïðèñóòñòâóþùèõ â òðàíçàêöèè T.
Äëÿ êàæäîãî íàáîðà èç ïîñòðîåííîãî ìíîæåñòâà Ck óäàëèòü íàáîð, åñëè õîòÿ áû
îäíî èç åãî (k-1) ïîäìíîæåñòâ íå ÿâëÿåòñÿ ÷àñòî âñòðå÷àþùèìñÿ ò.å. îòñóòñòâóåò
âî ìíîæåñòâå Lk − 1. Ýòî
ìîæíî çàïèñàòü â âèäå ñëåäóþùåãî ïñåâäîêîäà:
Äëÿ âñåõ íàáîðîâ âûïîëíèòü
äëÿ âñåõ (k-1)-ïîäíàáîðîâ s èç c âûïîëíèòü
åñëè (), òî
óäàëèòü åãî èç Ck
Øàã 6. Äëÿ êàæäîãî êàíäèäàòà èç Ck óâåëè÷èòü çíà÷åíèå ïîääåðæêè íà
åäèíèöó.
Øàã 7. Âûáðàòü òîëüêî êàíäèäàòîâ Lk èç ìíîæåñòâà Ck, ó êîòîðûõ çíà÷åíèå ïîääåðæêè
áîëüøå çàäàííîé ïîëüçîâàòåëåì Suppmin.
Âåðíóòüñÿ ê øàãó 2.
Ðåçóëüòàòîì ðàáîòû àëãîðèòìà ÿâëÿåòñÿ îáúåäèíåíèå âñåõ
ìíîæåñòâ Lk äëÿ âñåõ k.