EuroMISE centrum – Kardio, spolunositelské pracoviště Vysoká škola ekonomická Praha

4  Dobývání znalostí z dat o hypertenzi

4.1  Porozumění problematice a datům
4.2  Příprava dat
4.3  Modelování a vyhodnocení v systému Clementine
4.4  Modelování a vyhodnocení v systému KnowledgeSTUDIO
4.5  Modelování a vyhodnocení v systému Weka
4.6  Modelování a vyhodnocení v systému LISp-Miner
4.7  Využití výsledků

V této druhé části studie ukážeme použití vybraných systémů dobývání znalostí na příkladě dat o hypertenzi.

4.1 Porozumění problematice a datům

Vzhledem k tomu, že hlavním cílem studie je ukázat možnosti použití vybraných systémů, je tato část procesu dobývání znalostí silně potlačena.

Jako ukázka možností jednotlivých systémů byly zvoleny tři úlohy:

  1. segmentace pacientů na základě údajů ze vstupního vyšetření,
  2. hledání souvislostí mezi konzumací různých nápojů,
  3. klasifikace pacientů z hlediska hypertenze na základě údajů ze vstupního vyšetření

První dvě úlohy jsou deskripční třetí úloha je klasifikační. Jako vstupní atributy tedy byly zvoleny VEK, STAV, VZDELANI, ZODPOV, TELAKTZA, AKTPOZAM, DOPRAVA1, DOPRAVA2, KOURENI, ALKOHOL, FREKV, PIVOMN, VINOMN, LIHMN, KAVA, CAJ, CUKR, VYSKA, VAHA, výstupním atributem je údaj HT. V deskripčních úlohách budeme pracovat pouze se vstupními atributy. Původní data jsou uložena v Excelovské tabulce VDHT.XLS, která obsahuje údaje o 523 pacientech.

Fázi porozumění datům zredukujeme na zjištění četností hodnot jednotlivých atributů. Většina atributů je kategoriálnich – pro ně má smysl zjišťovat četnosti všech hodnot. Pouze atributy VEK, VYSKA, VAHA, CUKR jsou numerické. U numerických atributů je obecně vzato vhodnější provést jejich diskretizaci (rozdělení na intervaly) a zjišťovat četnosti těchto intervalů.

Při zjišťování četností se ukázalo, že v řadě případů chybí hodnota určitého atributu. Většina algoritmů umí problém chybějících hodnot vyřešit sama (např. tak, že ignoruje neúplně popsané případy, nebo že provede nějaké doplnění chybějící hodnoty), stačí pouze zadat, který údaj kóduje chybějící hodnotu.

4.2 Příprava dat

Cílem přípravy dat je

  1. vybrat (případně i vytvořit) atributy, které obsahují údaje relevantní pro uvažovanou úlohu,
  2. převést data do formátu, který vyhovuje zvolenému systému.

Příprava dat tedy zahrnuje nejrůznější datové transformace prováděné nad atributy i záznamy v databázi.

Obecně lze k přípravě dat říci, že nejčastější operací je diskretizace numerických atributů. Je to z toho důvodu, že některé analytické algoritmy vyžadují pouze kategoriální data (typicky algoritmy pro tvorbu asociačních pravidel). V naší ukázkové analýze tuto diskretizaci provádět nebudeme a použijeme buď vhodnější algoritmy na celá data, nebo algoritmy vyžadující kategoriální data pouze na kategoriální atributy. Jinou transformací, která se provádí v případě, že data jsou uložena ve více vzájemně propojených tabulkách, je převedení dat do jedné tabulky. Tato transformace je nutná z toho důvodu, že používané algoritmy v drtivě většině pracují pouze s jedinou datovou maticí. V naší analýze bude tato transformace opět chybět.

V našem případě dat o hypertenzi:

  1. vytvoříme nový atribut BMI = váha[kg] / (výška[m] * výška[m]) – tento atribut nahradí při analýze atributy VYSKA, VAHA,
  2. náhodně rozdělíme data na část trénovací (67 %) a část testovací (33 %) – každá část by v ideálním případě měla mít stejný podíl tříd jako celá data; jak ukazuje následující tabulka, je to v našem případě splněno
    Tab. 4 – Podíl tříd v datech
    HT:anoHT:ne
    celá data 150 (29 %) 373 (71 %)
    trénovací data 102 (29 %) 248 (71%)
    testovací data 48 (28 %) 125 (72 %)
  3. upravíme data do textového formátu (ASCII soubor s oddělovači).

Pro přípravu byl použit tabulkový kalkulátor Excel.

4.3 Modelování a vyhodnocení v systému Clementine

4.3.1  Popis systému
4.3.2  Klasifikace
4.3.3  Segmentace
4.3.4  Hledání asociací
4.3.5  Vyhodnocení

4.3.1 Popis systému

Systém Clementine vyvinula britská firma Integral Solutions Ltd. v polovině 90. let. K 1. lednu 1999 tuto firmu (a s ní i systém Clementine) převzal přední výrobce statistického software, firma SPSS. Clementine patří mezi přední komerční systémy pro dobývání znalostí. Systém důsledně vychází z metodologie CRISP-DM. Systém nabízí řadu metod pro klasifikační (predikční) i deskriptivní úlohy, mimo jiné standardní algoritmy C5.0 (rozhodovací stromy), apriori (asociační pravidla), vívevrstvý perceptron (neuronové sítě), metodu k-středů, nebo lineární regresi.

Clementine má velice propracovaný způsob ovládání, tzv. vizuální programování (vizual programming). Z nástrojů v jednotlivých paletách (tyto palety odpovídají jednotlivým krokům procesu dobývání znalostí; předzpracování, modelování, vizualizace a interpretace) se na pracovní ploše poskládá sekvence řešení úlohy (tzv. stream).

Systém Clementine nabízí analytikům tzv. Clementine External Module Interface pro přidávání vlastních algoritmů. Tak lze přidávat programy do jednotlivých palet nástrojů. Z implementačního hlediska je třeba zajistit správné začlenění nového programu do sekvence (streamu). Program tedy musí umět číst data a parametry ze sekvence a zapisovat do sekvence své výsledky.

Přenesení provedené analýzy ke koncovým uživatelům usnadňuje tzv. Clementine Solution Publisher, na jehož základě vznikne samostatná aplikace obsahující všechny provedené kroky v sekvenci (jako zdrojové programy v C, SQL příkazy apod.).

4.3.2 Klasifikace

Pro klasifikaci byl použit rozhodovací strom a neuronová síť. Obr. 9 ukazuje sekvenci kroků (stream) pro tuto úlohu. Modely byly vytvořeny z trénovacích dat (horní část sekvence). Všechny modely (žluté „diamanty“) jsou pak testovány na testovacích datech a výsledky testování jsou analyzovány (dolní část sekvence).

Schéma klasifikační úlohy
Obr. 9 – Schéma klasifikační úlohy

Rozhodovací strom je zobrazen tak, že za „šipkou“ je uvedeno zařazení do třídy, v závorce je vždy uveden počet příkladů pokrytých danou větví a správnost klasifikace.

Část rozhodovacího stromu
Obr. 10 – Část rozhodovacího stromu

Neuronová síť je popsána značně zjednodušeně, dozvíme se pouze kolik neuronů měla které vrstva a jak byly důležité jednotlivé atributy.

Informace o neuronové síti
Obr. 11 – Informace o neuronové síti

4.3.3 Segmentace

Pro segmentaci lze použít shlukovou analýzu. Clementine nabízí shlukování pomocí neuronových sítí (SOM) a metodu k-středů. Obr. 12 ukazuje použití metody k-středů: Nejprve je vytvořeno 5 shluků (počet shluků byl zadán jako parametr). Jednotlivé shluky jsou pak reprezentovány pomocí pravidel ” Obr. 13 (např. pravidlo č. 1 říká, že do shluku č. 1 patří vysokoškoláci, kteří příležitostně pijí alkohol, ale nepijí lihoviny). Pravidla vytvořil algoritmus C5.0, standardní nástroj pro tvorbu rozhodovacích stromů a pravidel. Tato pravidla byla následně použita pro klasifikaci pacientů do shluků. Shluky byly rovněž porovnány s cílovým (z hlediska klasifikační úlohy) atributem HT.

Schéma shlukování
Obr. 12 – Schéma shlukování

Popis shluků
Obr. 13 – Popis shluků

Obr. 14 ukazuje počet shod (hlavní diagonála) a neshod (zbytek tabulky) při klasifikaci pacientů do shluků na základě pravidel. Z tabulky je vidět, že popis shluků pomocí pravidel vyhovuje v 90 % případů. Koincidence shluků a hypertenze (HT) ale není příliš veliká (Obr. 15).

Počty správně a chybně zařazených pacientů do shluků
Obr. 14 – Počty správně a chybně zařazených pacientů do shluků

Vztah mezi shlukem a hypertenzí
Obr. 15 – Vztah mezi shlukem a hypertenzí

4.3.4 Hledání asociací

Při této analýze nás zajímala vzájemná souvislost mezi konzumací různých druhů nápojů. Schema úlohy je na Obr. 16. Pro analýzu byl použit algoritmus apriori hledající asociační pravidla (Obr. 17) a modul pro hledání a vizualizaci vazeb mezi hodnotami vybraných atributů (Obr. 18).

Schema úlohy pro hledání asociací
Obr. 16 – Schema úlohy pro hledání asociací

Asociační pravidla
Obr. 17 – Asociační pravidla

Vizualizace vazeb mezi atributy
Obr. 18 – Vizualizace vazeb mezi atributy

K Obr. 18 je vhodné vysvětlit hodnoty atributů:

alkohol=1: Ne čaj=4: Ne káva=1: Ne
alkohol=2: příležitostně čaj=5: 1-2 šálky káva=2: 1-2 šálky
alkohol=3: pravidelně čaj=6: 3 a více káva=3: 3 a více

4.3.5 Vyhodnocení

Pro vyhodnocení klasifikačního modelu použijeme tzv. matici záměn (confusion matrix) – viz též Obr. 14. Tato matice dává do souvislosti výsledky klasifikace nějakých dat s informací o „správném“ zařazení těchto příkladů do tříd. Na hlavní diagonále matice je uveden počet správně (shodně s daty) zařazených příkladů. Z této matice lze zjistit celkovou správnost jako podíl správně zařazených příkladů a všech příkladů. Následující matice záměn ukazují postupně výsledky klasifikace dosažené:

Porovnání výsledků dosažených rozhodovacím stromem a neuronovou sítí na trénovacích datech ukazuje Obr. 19. Kromě údajů o celkové správnosti je vidět i shoda obou modelů (v 85 % případů) i to, že v případě shody je celková správnost 100 % – toto vysoké číslo je dáno tím, že neuronová síť sama o sobě má na trénovacích datech 100% správnost klasifikace.

Výsledky testování na trénovacích datech
Obr. 19 – Výsledky testování na trénovacích datech

Porovnání výsledků dosažených rozhodovacím stromem a neuronovou sítí na testovacích datech ukazuje Obr. 20. Kromě údajů o celkové správnosti je vidět i shoda obou modelů (v 80 % případů) i to, že v případě shody je celková správnost 91 %.

Výsledky testování na testovacích datech
Obr. 20 – Výsledky testování na testovacích datech

4.4 Modelování a vyhodnocení v systému KnowledgeSTUDIO

4.4.1  Popis systému
4.4.2  Klasifikace
4.4.3  Deskripce
4.4.4  Vyhodnocení

4.4.1 Popis systému

KnowledgeSTUDIO kanadské firmy Angoss je relativně méně známým systémem. Základními metodami jsou rozhodovací stromy (zde firma navazuje na úspěšný systém KnowledgeSeeker), regrese, neuronové sítě (pro klasifikační ulohy) a shlukování (pro úlohy deskripční). Vytvořené modely lze převést do kódu pro SAS nebo do XML. Propracovaná je i část interpretace.

Řešení nějaké úlohy dobývání znalostí je v KnowledgeSTUDIU pojato jako vytvoření projektu, který krok za k rokem dokumentuje vše, co uživatel s daty provedl. Koncepce projektu umožńuje uchovat všechny dílčí výsledky analýzy i parametry jednotlivých kroků.

4.4.2 Klasifikace

Pro klasifikační úlohu byly (podobně jako v systému Clementine) zvoleny rozhodovací stromy a neuronová síť. Opět budeme řešit úlohu klasifikace hypertenze pacientů (atribut HT) na základě údajů ze vstupního vyšetření.

Rozhodovací strom je možno vytvořit automaticky i „ručně“. Tento druhý způsob, kterým se KnowledgeSTUDIO liší od ostatních systémů, umožňuje uživateli, aby sám zadával, který atribut se použije pro větvení v daném místě stromu. Vytvořený strom má hezkou grafickou podobu (Obr. 21).

Rozhodovací strom
Obr. 21 – Rozhodovací strom

Vytvořené modely je možno uložit v XML. Obr. 22 ukazuje zápis neuronové sítě, vytvořené pro naši úlohu. Jedná se o vícevrstvou síť s jednou skrytou vrstvou; počet neuronů ve skryté vrstvě byl zadán, počet neuronů ve vstupní vrstvě systém „navrhl“ sám. Na rozdíl od Clementine tedy získáme velice podrobnou informaci o topologii a vahách sítě.

Neuronová síť
Obr. 22 – Neuronová síť

4.4.3 Deskripce

Z modelů pro deskripční úlohy nabízí systém „ručně“ vytvářený rozhodovací strom a shlukovou analýzu používající algoritmus nejbližšího souseda. Shlukování bylo použito pro segmentaci pacientů z hlediska kouření a pití (alkoholu, kávy a čaje). Pro srozumitelný popis shluků byl použit rozhodovací strom (Obr. 23).

Popis shluků
Obr. 23 – Popis shluků

Obr. 24 ukazuje jak se pro jednotlivé shluky liší podíl pacientů u kterých byla někdy diagnostikována hypertenze (hodnota 1). Vídíme, že pro shluky 1 a 2 je tento podíl vyšší než v celém souboru pacientů – mohlo by tedy jít o rizikové skupiny.

Podíl hypertoniků v jednotlivých shlucích
Obr. 24 – Podíl hypertoniků v jednotlivých shlucích

4.4.4 Vyhodnocení

Při vyhodnocení klasifikačních modelů se opět vychází z matice záměn. Z ní můžeme spočítat jaká byla správnost klasifikace dosažená na trénovacích i testovacích datech:

modeltrénovací datatestovací data
rozhodovací strom85 %74 %
neuronová síť100 %88 %

Neuronová síť dosahuje vyšší správnosti jak pro trénovací tak pro testovací data. Podstatnější je samozřejmě výsledek na testovacích datech.

Další možností, jak hodnotit klasifikační modely, je tzv. křivka zvýšení (lift curve). Tato křivka využívá toho, že zařazení nějakého příkladu do třídy bývá doprovázeno číslem vyjadřujícím jistotu (váhu) klasifikace. Můžeme se ptát, jak tato hodnota souvisí se správností klasifikace. Graficky dává tyto údaje do vzájemného vztahu právě křivka zvýšení. Na ose x je podíl příkladů dosahujících dané jistoty klasifikace (příklady josu uspořádány sestupně podle této hodnoty, no ose y je uveden podíl správně zařazených příkladů. Obr. 25 ukazuje, že seřadíme-li pacienty podle jistoty klasifikace do třídy hypertoniků na základě neuronové sítě (modrá křivka) tak např. v první třetině pacientů zachytíme 80 % hypertoniků. Při klasifikaci (a uspořádání) pomocí rozhodovacího stromu (zelená křivka) bude v této třetině „pouze“ asi 60 %. Při náhodném výběru pacientů bude ve třetině vybraných třetina hypertoniků (refernční červená čára). Vychází tedy i v tomto srovnání lépe neuronová síť.

Křivka zvýšení
Obr. 25 – Křivka zvýšení

4.5 Modelování a vyhodnocení v systému Weka

4.5.1  Popis systému
4.5.2  Práce s daty
4.5.3  Klasifikace
4.5.4  Deskripce

4.5.1 Popis systému

Weka je systém vyvinutý na universitě Waikato na Novém Zélandě [Witten, Frank, 1999]. Přestože se jedné o freeware volně dostupný na Internetu, v ničem si nezadá s komerčními systémy. Weka má charakter experimentálního systému nabízejícího širokou škálu algoritmů pro učení i předzpracování, známých v akademickém světě. K dispozici jsou i možnosti vizualizace a kombinování modelů.

Z uvedených tří systémů je nabídka programů nejširší, nevýhodou ale je, že Weka neumožňuje ukládat projekty (jako KnowledgeSTUDIO) resp. sekvence kroků (jako Clementine). To znamená, že po ukončení programu se proces analýzy nějakých dat (tedy zadané parametry pro jednotlivé algoritmy) „ztratí“ a analýza se v připadě potřeby musí zadat znovu (výsledky analýzy samozřejmě uložit lze).

Systém je řešen jako knihovna programů v Javě volaných z jednotného (grafického) rozhranní. Většina modelů si ale ponechává původní textový výstup.

4.5.2 Práce s daty

Weka používá vlastní datový formát (ASCII soubor který obsahuje popis atributů i vlastní data), je ale možno načíst i data vyexportovaná z Excelu. Na rozdíl od KnowledgeSTUDIA je možno ve Wece provádět datové transformace. K tomu slouží vstupní panel uvedený na Obr. 26.

Vstup dat
Obr. 26 – Vstup dat

Systém rovněž nabízí různé možnosti analýzy atributů. Obr. 27 ukazuje volbu relevantních atributů pro klasifikační úlohu o hypertenzi.

Selekce atributů
Obr. 27 – Selekce atributů

4.5.3 Klasifikace

Nejvíce modelů zařazených do systému jsou modely klasifikační. Systém nabízí různé možnosti testování těchto modelů: na trénovacích datech, na testovacích datech a křížovou validaci. Obr. 28 rovněž ukazuje značný stupeň podrobnosti hodnocení klasifikačního modelu; hodnoty charakterizující klasifikátor se počítají z matice záměn.

Výsledky klasifikace pomocí pravidel (10násobná křížová validace)
Obr. 28 – Výsledky klasifikace pomocí pravidel (10násobná křížová validace)

Modely nabízené systémem jsou jednak tzv. „základní“ klasifikátory (rozhodovací stromy, rozhodovací pravidla, bayesovský klasifikátor, neuronové sítě, regresní modely, nejbližší soused), jednak modely vzniklé kombinací základních klasifikátorů. V tomto druhém případě se jedná různé podoby hlasování klasifikátorů vytvořených z částí trénovací množiny. V případě tzv. bagging se trénovací data náhodně rozdělí na části, pro které se vytvoří modely mající rovný hlas. V případě tzv. boosting vznikají postupně modely s rostoucí váhou hlasu; každý z modelů v řadě se zaměřuje jen na ty případy, které předcházející modely nedokázaly správně klasifikovat. Při kombinování modelů se obvykle zvyšuje správnost klasifikace. V našem případě byla např. pomocí základního klasifikátoru založeného na pravidlech dosažena správnost 74%, při použití metody bagging to bylo 77 % a při použití metody boosting to bylo 79 % (připomeňme, že „defaultní“ správnost je 72 %).

Citelnou nevýhodou z hlediska použití modelů je nemožnost klasifikovat (načíst) nová data.

4.5.4 Deskripce

Pro deskriptivní úlohy Weka nabízí shlukovou analýzu – shluky je možno následně zobrazit (Obr. 29), a tvorbu asociačních pravidel (Obr. 30).

Hypertenze pro jednotlivé shluky
Obr. 29 – Hypertenze pro jednotlivé shluky

Asociační pravidla
Obr. 30 – Asociační pravidla

4.6 Modelování a vyhodnocení v systému LISp-Miner

4.6.1  Popis systému
4.6.2  Práce s daty
4.6.3  Klasifikace
4.6.4  Vyhodnocení

4.6.1 Popis systému

Systém LISp-Miner, vyvíjený na VŠE nabízí dva typy modelů:

Pro tvorbu asociačních pravidel se jedná o GUHA proceduru 4FT-Miner (podrobněji o metodě GUHA viz např. [Hájek, Havránek, Chytil, 1983]), pro tvorbu rozhodovacích pravidel se využívá procedura KEX [Berka, Ivánek, 1994].

Vzhledem k tomu, že proceduře 4FT-Miner je věnována samostatná studie, zde se zaměříme na použití procedury KEX. Ukážeme si tedy jen řešení klasifikační úlohy.

4.6.2 Práce s daty

LISp-Miner pracuje s databázovým formátem *.mdb používaným v Microsoft Access. Tento formát se používá především pro ukládání výsledků (pravidel) a definování úloh. Pro načítání dat je možno použít i jiné datové formáty. Pro přípravu dat se používá modul DataSource (Obr. 31).

Volba atributů
Obr. 31 – Volba atributů

Algoritmy systému pracují pouze s kategoriálními daty. Numerické atributy je tedy třeba diskretizovat – Obr. 32. Diskretizace (DataSource nabízí ekvidistantní a ekvifrekvenční diskretizaci) je jen jednou z možných datových transformací.

Diskretizace numerického atributu BMI
Obr. 32 – Diskretizace numerického atributu BMI

4.6.3 Klasifikace

LISp-Miner (podobně jako Clementine nebo KnowledgeSTUDIO) umožňuje uchovávat provedené analýzy (zadání úlohy a výsledky). Systém používá tzv. úlohy (task). Příklad zadání úlohy pro tvorbu rozhodovacích pravidel je na Obr. 33. Je třeba zadat antecedent, cíl (sukcedent), parametry pro sílu pravidla a způsob testování pravidel. V tomto konkretním případě byla jako cíl zvolena hodnota v1 atributu HT (hypertenze byla diagnostikována).

Zadání klasifikační úlohy
Obr. 33 – Zadání klasifikační úlohy

Výsledkem běhu procedury je seznam pravidel umožňujících odvodit váhu závěru HT=v1 (Obr. 34). Většina pravidel má váhu menší než 0.5, to jsou pravidla, která odvozují závěr HT=v2 – hypertenze nebyla diagnostikována.

Báze pravidel
Obr. 34 – Báze pravidel

4.6.4 Vyhodnocení

Pro testování báze pravidel jsou k dispozici testování na trénovacích datech, náhodné rozdělení dat na část trénovací a testovací, násobnou křížovou validaci a testování na testovacích datech. Ve všech případech získáme informaci o počtu správně a počtu chybně klasifikovaných případů. Obr. 35 ukazuje, že pro naše data a zadání úlohy jsme dosáhli správnosti klasifikace 75 % při 10násobné křížové validaci. Z obrázku je rovněž vidět poměrně značný počet pravidel (487).

Výsledky testování
Obr. 35 – Výsledky testování

4.7 Využití výsledků

Při reálné analýze by následovalo využití výsledků. V naší ukázkové úloze lze klasifikační modely použít např. pro určení rizikových pacientů, u kterých je vhodné provést důkladnější vyšetření. Deskripční modely mohou pomoci nalézt (resp. potvrdit) vztah mezi návyky pacientů a rizikem hypertenze.


Datum: 21. 09. 2017

URL: