====== KL-vztah kategoriálních atributů ====== \\ ===== Příklad ===== Příkladem KL-vztahu je vztah kategoriálních atributů **DHodnoceni** a **DPersonal** vyjádřený KL-výrazem \\ **DHodnoceni** [TauB ≥ 0.94,SUM ≥ 113] **DPersonal** / **HMesto(//Praha//)** ∧ **PTypPobytu(//rekreační//)**, \\ kterému odpovídá výstup procedury KL-Miner uvedený v následujícím obrázku. {{ :kl_vztah_priklad.png |}} Uvedený KL-vztah se týká matice dat [[https://lispminer.vse.cz/guhadi/doku.php?id=lm_guha_di_hotel_prehled_skupin|Hotel]]. Platí: * KL-vztah se týká atributu [[https://lispminer.vse.cz/guhadi/doku.php?id=lm_guha_di_hotel_dotaznik#atribut_dhodnoceni|DHodnoceni]] s kategoriemi //nižší//, //průměr//, //vyšší// a atributu [[https://lispminer.vse.cz/guhadi/doku.php?id=lm_guha_di_hotel_dotaznik#atribut_dpersonal_ef3|DPersonal]] s kategoriemi //nespokojen//, //průměr//, //spokojen//. * V levé části je KL-tabulka \\ KL(**DHodnoceni**,**DPersonal**, **Hotel** / **HMesto(//Praha//)** ∧ **PTypPobytu(//rekreační//)**. Tabulka uvádí frekvence pro kombinace kategorií atributů **DHodnoceni** a **Personal** v [[lm_guha_te_matice#podmatice_matice_dat|podmatici]] \\ **Hotel** / **HMesto(//Praha//)** ∧ **PTypPobytu(//rekreační//)** matice dat [[https://lispminer.vse.cz/guhadi/doku.php?id=lm_guha_di_hotel_prehled_skupin|Hotel]]. 45 řádků podmatice odpovídá kombinaci kategorií //nížší// + //nespokojen//, analogicky pro ostatní kombinace kategorií. V pravé části je sloupcový graf pro jednotlivé kombinace. * Je zřejmé, že mezi atributy **DHodnoceni** a **DPersonal** je pozitivní pořadová korelace. To je vyjádřeno i hodnotou Kendallova korelačního koeficientu TauB. Platí TauB = 0.94. * Podmatice dat** Hotel** / **HMesto(//Praha//) ∧ PTypPobytu(//rekreační//)** má celkem \\ 45 + 0 + 0 + ... + 0 + 1 + 45 = 113 řádků. * Vztah kategoriálních atributů **DHodnoceni** a **DPersonal** je vyjádřený KL-výrazem \\ ** DHodnoceni** ↑↑[TauB ≥ 0.94,SUM ≥ 113] **DPersonal** / **HMesto(//Praha//) ∧ PTypPobytu(//rekreační//)**, \\ který je pravdivý pro matici dat **Hotel**. ===== KL-vztah a KL-výraz ===== KL-vztahem rozumíme vztah dvou kategoriálních atributů na podmatici matice dat. Pro vyjádření \\ KL-vztahu se používá KL-výraz **R**≈**C**/χ kde * **R**,**C** jsou [[lm_guha_te_matice|kategoriální atributy]] * ≈ je [[lm_guha_te_tabulka#KL-kvantifikátor|KL-kvantifikátor]] * χ je [[lm_guha_te_bool|booleovský atribut]]. KL-výraz **R**≈**C**/χ může být na dané matici **M** pravdivý nebo nepravdivý. Pokud je pravdivý, pak říkáme, že kategoriální atributy **R** a **C** jsou na matici dat **M** ve vztahu daném KL-kvantifikátorem ≈, nebo že \\ KL-vztah **R**≈**C**/χ platí na matici dat **M**. Určení, zda KL-vztah **R**≈**C**/χ [[lm_guha_te_tabulka#KL-vztah platí v matici dat|platí v matici dat]] **M** se provádí na základě [[lm_guha_te_tabulka#KL-tabulka|KL-tabulky]]. Výrazy //KL-vztah// a //KL-výraz// se obvykle používají jako synonyma. ===== KL-tabulka a podmíněná KL-tabulka===== KL-tabulkou KL(**R**,**C**,**M/χ**) pro KL-vztah **R**≈**C**/χ a matici dat **M** rozumíme kontingenční tabulku atributů **R** a **C** v podmatici **M/χ**, viz též následující obrázek. {{ :kl_tabulka.png?400 |}} KL-tabulku KL(**R**,**C**,**M/χ**) zapisujeme i ve stručné formě {ni,j}, případně {ni,j}K,L. Platí: * Atribut **R** má kategorie r1,...,rK a atribut **C** má kategorie c1,...,cL. * ni,j je počet řádků matice **M/χ** pro které atribut R nabývá hodnotu ri a atribut C hodnotu cj * ni,* je počet řádků matice **M/χ** pro které atribut R nabývá hodnotu ri * n*,j je počet řádků matice **M/χ** pro které atribut C nabývá hodnotu cj * n je počet všech řádků matice **M/χ**. Některé KL-kvantifikátory využívají i informaci o počtu řádků v celé matici dat **M**. Proto definujeme \\ **podmíněnou tabulku** KLC(**R**,**C**,**M/χ**) jako dvojici ‹ {ni,j},nT › kde nT je počet řádků v celé matici dat **M**. ===== KL-kvantifikátor ===== Symbol "≈" v KL-vztahu **R**≈**C**/χ se nazývá KL-kvantifikátor. Definuje podmínku týkající se dvojice \\ ‹ {ui,j}K,L, V › kde {ui,j}K,L je matice celých nezáporných čísel o K řádcích a L sloupcích a V je celé číslo splňující V ≥ ΣiΣj ui,j. Podobně jako pro [[lm_guha_te_pravidlo#4ft-kvantifikátor|4ft-kvantifikátor]], chápeme i KL-kvantifikátor ≈ jako {0,1}-hodnotovou funkci ≈({ui,j}K,L, V). Platí * ≈({ui,j}K,L, V) = 1 pokud je podmínka daná KL-kvantifikátorem ≈ splněna pro matici {ui,j}K,L a číslo V * ≈({ui,j}K,L, V) = 0 pokud podmínka daná KL-kvantifikátorem ≈ pro matici {ui,j}K,L a číslo V splněna není. KL-kvantifikátory implementované v GUHA proceduře KL-Miner jsou popsány [[lm_guha_te_kl_kvantifikator|zde]]. ===== KL-vztah platí v matici dat ===== Platnost KL-vztahu **R**≈**C**/χ v matici dat **M** je definována pomocí KLC(**R**,**C**,**M/**χ) tabulky \\ KLC(**R**,**C**,**M/**χ) = ‹ {ni,j},nT › takto: * **R**≈**C**/χ platí v matici dat **M** pokud ≈({ni,j},nT) = 1, formálně zapisujeme Val(**R**≈**C**/χ, **M**) = 1. Pokud není nebezpečí nedorozumění, píšeme pouze ≈(**R**,**C**,χ, **M**) = 1. * **R**≈**C**/χ neplatí v matici dat **M** pokud ≈({ni,j},nT) = 0, formálně zapisujeme Val(**R**≈**C**/χ, **M**) = 0. Pokud není nebezpečí nedorozumění, píšeme pouze ≈(**R**,**C**,χ, **M**) = 0.