Materiál k cvičení DBM2 týden #5, sezona 2023/2024

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 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 (support)

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 (confidence)

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.

Zlepšení (lift)

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

Použití ve Weka

📝 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:

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í.

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) 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.