D R A F T V E R S I O N

Asociační pravidla

Asociační pravidla - na základě trénovací množiny najít pravidla typu "když A=x, pak B=y", kde A a B jsou libovolné atributy datasetu. Kvalita pravidla typicky posuzována na základě metrik podpory (support), spolehlivosti (confidence) a zlepšení (lift).

NákupIDVýrobek1Výrobek2Výrobek3Výrobek4Výrobek5
001 x x x
002 x x
003 x
004 x x
005 x x x
006
007 x x x x
008 x x
009 x x
010 x
Tab.1 - 10 záznamů o nákupních koších zákazníků. Symbol x značí výrobek zakoupený v libovolném množství

Podpora pravidla (support) A → B je četnost situace, kdy v jednom záznamu je A a zároveň B. Na příkladu v tabulce 1 je podpora(Výrobek1, Výrobek2) = 3/10, protože ve 3 z 10 záznamů byl zakoupen Výrobek1 zároveň s Výrobek2. Zjednodušeně jde o vyjádření, jak často by bylo možné pravidlo použít.

Spolehlivost nabývá hodnot [0,1] a udává, jak často bylo pravidlo v datasetu pravdivé. U pravidla A → B:

                        podpora(A, B) 
spolehlivost(A → B) = ───────────────── ,
                         podpora(A)
                                                podpora(Výrobek1, Výrobek2, Výrobek5)     0.2
spolehlivost((Výrobek1, Výrobek2) → Výrobek5) = ───────────────────────────────────── = ─────── = 0.667
                                                    podpora(Výrobek1, Výrobek2)           0.3
Zjednodušeně spolehlivost udává, jak často pravidlo fungovalo. Neboli v jakém procentu případů, kdy je splněna levá část pravidla, se naplnila i pravá část. V případě, že by spolehlivost byla 100%, jednalo by se o implikaci.

Zlepšení (lift) nabývá hodnot [0, +inf) a popisuje míru závislosti náhodných proměnných. Pokud je hodnota větší než 1, pak se v datasetu objevují A a B společně častěji, než by bylo očekávané při nezávislých jevech. Jev A má tak pozitivní efekt na jev B. Hodnota kolem 1 popisuje situaci, kdy na souběžném výskytu A a B není nic neočekávaného. Hodnota menší než 1 značí negativní efekt A na jev B.

                      podpora(A, B) 
zlepšení(A → B) = ────────────────────── ,
                  podpora(A) * podpora(B)
                                                podpora(Výrobek1, Výrobek2, Výrobek5)             0.2
zlepšení((Výrobek1, Výrobek2) → Výrobek5) = ─────────────────────────────────────────────── = ─────────── = 3.33
                                            podpora(Výrobek1, Výrobek2) * podpora(Výrobek5)    0.3 * 0.2

Výběr relevantních atributů

Při práci s daty o vysoké dimenzi může být vhodné pokusit se převést problém na méně-dimenzní. V datech bývá řada atributů, které jsou do určité míry redundantní, které nesouvisejí s predikovaným atributem, mají zanedbatelný vliv na kvalitu predikce, či dokonce zhoršují schopnost predikce modelu. Například algoritmy pracující jen s instancemi blízkých datových bodů v prostoru, jako k-nejbližších sousedů, pracují špatně s daty, ve kterých se vyskytuje redundance.

Proces nalezení ideální množiny vstupních atributů pro vytvářený model se nazývá feature selection a tento proces by měl být součástí postupu vytváření prediktivního modelu. Výsledný model by ideálně (se zachováním kvality predikce) měl sestávat z co nejméně vstupních atributů, protože je tak jednodušší pochopit jeho fungování a zároveň je jednodušší model prezentovat. Model nad podmnožinou atributů je typicky rychleji vytvořený. Feature selection je odlišný od metod redukce dimenzionality (např. Principal Component Analysis popisovaná v KIV/SU) tím, že pouze vybírá některé z atributů, ale nevytváří nové složené atributy kombinováním původních.

Metody pro výběr atributů lze členit na:

Ve Weka lze algoritmy pro výběr atributů zkoušet v Exploreru na záložce Select attributes. V případě, že chceme porovnat různé metody výběru atributů, lze při vytváření prediktivního modelu vybrat namísto algoritmu klasifikátoru speciální meta-algoritmus meta.AttributeSelectedClassifier. V nastavení pak lze zvolit metodu výběru atributů a zároveň algoritmus prediktivního modelu.