Materiál k cvičení DBM2 týden #5, sezona 2023/2024
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 bývá posuzována na základě metrik podpory (support), spolehlivosti (confidence) a zlepšení (lift).
Na následujícím triviálním příkladu údajů o nákupním koši zákazníku lze demonstrovat výpočet těchto metrik:
| ID | A | B | C | D | E |
|---|---|---|---|---|---|
| 1 | ✔ | ✔ | ✔ | ||
| 2 | ✔ | ✔ | |||
| 3 | ✔ | ||||
| 4 | ✔ | ✔ | |||
| 5 | ✔ | ✔ | ✔ | ||
| 6 | |||||
| 7 | ✔ | ✔ | ✔ | ✔ | |
| 8 | ✔ | ✔ | |||
| 9 | ✔ | ✔ | |||
| 10 | ✔ |
Fig — množina záznamů o nákupních koších zákazníků. Symbol ✔ značí výrobek zakoupený v libovolném množství
Podpora pravidla X → Y je četnost situace, kdy v jednom záznamu je pozitivní X a zároveň Y. Na příkladu v tabulce je
podpora(A, B) = 3/10,
protože ve 3 z 10 záznamů (#1, #5, #7) byl zakoupen výrobek A zároveň s výrobkem B. 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:
spolehlivost(X → Y) = podpora(X, Y) / podpora(X)
Pokud tedy chceme vyjádřit spolehlivost pravidla "Když jsou v košíku výrobky A a B, pak je v košíku i výrobek E", platí:
spolehlivost(A, B → E) = podpora(A, B, E) / podpora(A, B) = 0.2 / 0.3 = 0.67
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.
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í X a Y společně častěji, než by bylo očekávané při nezávislých jevech. Jev X má tak pozitivní efekt na jev Y. Hodnota kolem 1 popisuje situaci, kdy na souběžném výskytu X a Y není nic neočekávaného. Hodnota menší než 1 značí negativní efekt X na jev Y.
zlepšení(X → Y) = podpora(X, Y) / (podpora(X) * podpora(Y))
zlepšení(A, B → E) = podpora(A, B, E) / (podpora(A, B) * podpora(E)) = 0.2 / (0.3 * 0.2) = 3.33
📝 Pro ukázku budou použita data z příkladu výše nakup.csv.
Asociační pravidla lze sestavit ve Weka následujícím způsobem:
Weka ExploreruAssociate zvolte ApriorimetricType — podle jaké metriky budou nálezy ohodnocenyminMetric — minimální hodnota metriky, kterou musí nalezené pravidlo splňovatnumRules — maximální počet pravidel, které budou nalezenylowerBoundMinSupport, upperBoundMinSupport, delta — algoritmus postupně snižuje požadavky na hodnotu podpory pravidla dokud nenajde požadovaný počet. Delta udává jeden krok snížení.car — zda se mají hledat pouze pravidla s target atributem v pravé části.Q1: Jaká pravidla jste identifikovali? Zhodnoťte významnost a použitelnost nalezených pravidel.
Q2: Prozkoumejte Titanic dataset pomocí asociačních pravidel, jaké poznatky lze získat?
📝 Data ke stažení: Titanic dataset
※ Algoritmus Apriori pracuje pouze s nominálními hodnotami. Číselné atributy je tedy nutné předzpracovat vhodným způsobem. Některé možnosti byly představeny v předchozím cvičení. Lze použít i uložený arff soubor z daného cvičení.
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) 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.
Q3: Aplikujte na Titanic dataset různé metody výběru atributů. Komentujte výsledky.
Pro vyzkoušení doporučuji weka.attributeSelection.CfsSubsetEval a weka.attributeSelection.ClassifierSubsetEval nad vhodným klasifikačním algoritmem.