====== SD4ft-pravidlo ====== \\ \\ ===== Příklad ===== \\ Příkladem SD4ft-pravidla je výraz \\ **HStat(//Slovensko//)** × **HStat(//Rakousko//)**: **HVek(//od 28 do 60//)** ⇒*1.7,31,69 **DHodnoceni(//nespokojen//)**, \\ kterému odpovídá výstup procedury SD4ft-Miner uvedený v následujícím obrázku. {{ :sd4ft_priklad.png?500 |}} Uvedené SD4ft-pravidlo se týká matice dat [[https://lispminer.vse.cz/guhadi/doku.php?id=lm_guha_di_hotel_prehled_skupin|Hotel]]. Platí: * 4ft(**HVek(//od 28 do 60//)**, **DHodnoceni(//nespokojen//)**, **Hotel/HStat(//Slovensko//))** = ‹31,44,22,48›, \\ tedy konfidence podmíněného pravidla \\ 4ft(**HVek(//od 28 do 60//)**≈ **DHodnoceni(//nespokojen//)** / **HStat(//Slovensko//)** = 31/(31+44) = 0.41. \\ Jinými slovy, podíl nespokojených hostů ve věku od 28 do 60 je pro Slovensko roven 41 %. * 4ft(**HVek(//od 28 do 60//)**, **DHodnoceni(//nespokojen//)**, **Hotel/HStat(//Rakousko//))** = ‹69,216,59,171›, \\ tedy konfidence podmíněného pravidla \\ 4ft(**HVek(//od 28 do 60//)**≈ **DHodnoceni(//nespokojen//)** / **HStat(//Rakousko//)** = 69/(69+216) = 0.24. \\ Jinými slovy, podíl nespokojených hostů ve věku od 28 do 60 je pro Rakousko roven 24 %. * Podíl nespokojených hostů ve věku od 28 do 60 je pro Slovensko 41/24 = 1.7 krát větší než pro Rakousko a zároveň je 31 nespokojených hostů ze Slovenska a 69 nespokojených hostů z Rakouska ve věku od 28 do 60. Tento fakt je vyjádřen výše uvedeným SD-pravidlem \\ **HStat(//Slovensko//)** × **HStat(//Rakousko//)**: **HVek(//od 28 do 60//)** ⇒*1.7,31,69 **DHodnoceni(//nespokojen//)**. ===== SD4ft-pravidlo ===== SD4ft-pravidlo je výraz α×β:φ∼ψ kde * α,β,φ,ψ jsou [[lm_guha_te_bool|booleovské atributy]] * ∼ je [[lm_guha_te_sd_pravidlo#SD4ft-kvantifikátor|SD4ft-kvantifikátor]] Booleovský atribut φ se nazývá antecedent, ψ je sukcedent (konsequent), α je definice první množiny a β je definice druhé množiny. SD4ft-pravidlo α×β:φ∼ψ říká, že vztah booleovských atributů φ a ψ se liší pokud tento vztah posuzujeme jednou na množině řádků dané booleovským atributem α a podruhé na množině řádků daných booleovským atributem β. Odlišnost je dána [[lm_guha_te_sd_pravidlo#SD4ft-kvantifikátor|SD4ft-kvantifikátorem]] ∼. Lze také říci, že SD4ft-pravidlo α×β:φ∼ψ vyjadřuje, že podmíněná asociační pravidla φ≈ψ/α a φ≈ψ/β se liší způsobem daným SD4ft-kvantifikátorem ∼. Určení, zda SD4ft-pravidlo α×β:φ∼ψ [[lm_guha_te_sd_pravidlo#SD4ft-pravidlo je pravdivé v matici dat |je pravdivé v matici dat]] M se provádí na základě [[lm_guha_te_sd_pravidlo#SD4ft-tabulka|SD4ft-tabulky]]. Je možno pracovat i s [[lm_guha_te_sd_pravidlo#Podmíněné SD4ft-pravidlo|podmíněnými SD4ft-pravidly]]. ===== SD4ft-tabulka ===== SD4ft-tabulkou SD4ft(α×β:φ∼ψ, **M**) pro SD4ft-pravidlo α×β:φ∼ψ a matici dat **M** se rozumí dvojice ‹//T//α, //T//β› \\ [[lm_guha_te_pravidlo#4ft-tabulka|4ft-tabulek]] //T//α = 4ft(φ,ψ,**M/α**) = ‹//a//α,//b//α,//c//α,//d//α› a //T//β = 4ft(φ,ψ,**M/β**) = ‹//a//β,//b//β,//c//β,//d//β›, viz též následující obrázek. {{ :sd4ft_tabulka.png?450 |}} ===== SD4ft-kvantifikátor ===== Symbol "∼" v SD4ft-pravidle α×β:φ∼ψ se nazývá SD4ft-kvantifikátor. Definuje podmínku týkající se čtveřic celých nezáporných čísel //T//α = ‹//a//α,//b//α,//c//α,//d//α› a //T//β = ‹//a//β,//b//β,//c//β,//d//β›. Podobně jako pro [[lm_guha_te_pravidlo#4ft-kvantifikátor|4ft-kvantifikátor]], chápeme SD4ft-kvantifikátor ∼ jako {0,1}-hodnotovou funkci ∼(//T//α, //T//β) týkající se čtveřic celých nezáporných čísel //T//α a //T//β. Platí * ∼(//T//α, //T//β) = 1 pokud je podmínka daná SD4ft-kvantifikátorem splněna pro čtveřice //T//α a //T//β * ∼(//T//α, //T//β) = 0 pokud podmínka daná SD4ft-kvantifikátorem pro čtveřice //T//α a //T//β splněna není. Příkladem SD4ft-kvantifikátoru je výraz ⇒*1.7,31,69 použitý ve výše uvedeném [[lm_guha_te_sd_pravidlo#příklad|příkladu]]. Tomuto SD4ft-kvantifikátoru odpovídá podmínka [//a//α/(//a//α+//b//α)]/[//a//β/(//a//β+//b//β)] ≥ 1.7 ∧ //a//α ≥ 31 ∧ //a//β ≥ 69. Tedy: * ⇒*1.7,31,69 (//T//α, //T//β) = 1 pokud platí [//a//α/(//a//α+//b//α)]/[//a//β/(//a//β+//b//β)] ≥ 1.7 ∧ //a//α ≥ 31 ∧ //a//β ≥ 69 * ⇒*1.7,31,69 (//T//α, //T//β) = 0 pokud neplatí [//a//α/(//a//α+//b//α)]/[//a//β/(//a//β+//b//β)] ≥ 1.7 ∧ //a//α ≥ 31 ∧ //a//β ≥ 69 . SD4ft-kvantifikátory implementované v GUHA proceduře SD4ft-Miner jsou popsány [[lm_guha_te_sd4ft_kvantifikator|zde]]. ===== SD4ft-pravidlo je pravdivé v matici dat ===== Pravdivost SD4ft-pravidla α×β:φ∼ψ v matici dat **M** je definována pomocí SD4ft-tabulky \\ SD4ft(α×β:φ∼ψ, **M**) = ‹//T//α, //T//β› takto: * α×β:φ∼ψ je pravdivé v matici dat **M** pokud ∼(//T//α, //T//β) = 1, formálně zapisujeme Val(α×β:φ∼ψ, **M** = 1 * α×β:φ∼ψ je nepravdivé v matici dat **M** pokud ∼(//T//α, //T//β) = 1, formálně zapisujeme Val(α×β:φ∼ψ, **M**) = 0. ===== Podmíněné SD4ft-pravidlo ===== Podmíněné SD4ft-pravidlo je výraz α×β:φ∼ψ/χ. Jedná se o SD4ft-pravidlo vyhodnocované v podmatici dat definované booleovským atributem χ. Platí tedy, že podmíněné SD4ft-pravidlo α×β:φ∼ψ/χ je pravdivé v matici dat **M** pokud je SD4ft-pravidlo α×β:φ∼ψ pravdivé v matici dat **M/χ**. To platí, pokud ∼(//T//α, //T//β) = 1 kde //T//α = 4ft(φ,ψ,**M/α∧χ**) a //T//β = 4ft(φ,ψ,**M/β∧χ**).