Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilŠtěpánka Kadlecová
1
Hana Kotinová 14.9.2011
2
Struktura a cíl práce Metody předzpracování dat Systémy předzpracování dat Historie vývoje DPT Jak program pracuje Budoucnost – plány na vylepšení Problémy Závěr
3
Úvod Dobývání znalostí z databází Problémy fáze předzpracování Algoritmy předzpracování dat Vybrané systémy pro předzpracování dat Data preprocessing tool Závěr Cíl práce – vytvoření programu Osobní cíl – zdokonalení v programování řešením rozsáhlejšího projektu
4
Transformace dat do strukturované podoby ve formě tabulky Nastavení jednotného formátu pro data z různých zdrojů Spojení více tabulek do jedné Ošetření chybějících hodnot Výběr atributů Výběr objektů Rozdělení dat Diskretizace a seskupování hodnot
5
Transformace dat do strukturované podoby ve formě tabulky Spojení více tabulek do jedné Nastavení jednotného formátu pro data z různých zdrojů Ošetření chybějících hodnot Výběr atributů Výběr objektů Rozdělení dat Diskretizace a seskupování hodnot
6
Mining Mart – Case Editor a Koncept Editor SumatraTT
7
DPT1 Zdrojové kódy psané v notepadu => Kurz 4IT251 a přechod k BlueJ
8
DPT2 po spuštěníDPT2 po načtení souboru
11
Logování operací Procedury diskretizace – doplnění o class sensitive crisp a class sensitive fuzzy Standardní aplikace s více okny nebo řešení pomocí karet Zpracování běžných databázových souborů, nejen čistý text v podobě.csv souboru. Grafy
12
Programátorská zdatnost Práce na notebooku (parametry: 14“ obrazovka, 256MB RAM, Pentium III, 750 MHz) Havárie disku na začátku práce Čas
13
Mining Mart a SumatraTTDPT grafické systémy práce velkého týmu Pracují s databázemi Složité Využívá jen běžné grafické rozhraní 1 člověk Pracuje pouze s textovými soubory (.csv) Jednodušší
14
Vývoj aplikace Data preprocessing tool bude pokračovat Zájem o využití aplikace v České spořitelně, a.s. Další verze budou dostupné na www.mankala.cz
15
Prostor k dotazům …
16
Na straně 8 je uvedeno, že z dat pro analýzu je nutné vytvořit pouze jednu (databázovou) tabulku. Opravdu neexistují data-miningové procedury, které mohou pracovat s více než jednou tabulkou najednou? Neexistují dokonce procedury, které pracují s daty v jiné podobě než tabulkové (např. se síťovými grafy, obrázky…)? Jestli ano, tak uveďte příklady. Jestli ne, tak zdůvodněte, proč nemohou existovat. Použití jedné tabulky je nejčastější, existují však i procedury prostorového data miningu Podporováno např. Oracle Data Miner, MS SQL Server Analysis Services
17
Jsou v sytému DPT implementovány nějaké operace, které nenalezneme v systémech SumatraTT nebo MiningMart? Procedura Noise Evaluation Vysvětlete detailně použitý algoritmus pro funkci Noise Evaluation.
18
Účel:zjistit počet kontradikcí v datech. Kontradikcemi se myslí objekty, které mají stejné hodnoty vstupních atributů, ale liší se v cílovém atributu. Pokud se takové objekty vyskytnou, klasifikátor je zařadí to stejné(majoritní) třídy; objekty patřící do ostatních tříd jsou kontradikce. Vstup: datová tabulka Výstup: počet kontradikcí, relativní chyba (error) a relativní správnost (accuracy) kterou lze dosáhnout Parametry: cílový atribut (class), informace, který atribut je váha objektů Algoritmus: spočítat počty výskytů objektů, které se shodují v hodnotách vstupních atributů (je-li použita váha objektů, počítá se počet objektů z těchto vah) a jejich rozdělení do tříd Pro každý objekt spočítat max. možnou správnost (accuracy) jako počet (opět s přihlédnutím k váze) objektů v majoritní třídě Spočítat celkovou max. možnou správnost jako ( objekty správnost objektu)/počet_objektů a min. možnou chybu (error) neboli podíl šumu jako 1 – max. možná správnost
19
public class NoiseEvaluation { public NoiseEvaluation() { } DataKapsa datoveStru ktury; public void noise() { datoveStruktury = datoveStruktury.getInstance(); TreeMap mo = new TreeMap (); TreeMap moc = new TreeMap (); TreeMap mov = new TreeMap (); for (int x = 2; x <= datoveStruktury.pocetRadkuSouboru ; x++) { String a = ""; String b = "" + datoveStruktury.stavData[x][datoveStruktury.vybranyCil];; for (int y = 1; y <= datoveStruktury.pocetSloupcuSouboru; y++) { if (y!= datoveStruktury.vybranyCil && y!= datoveStruktury.vybranaVaha) { a = a + datoveStruktury.stavData[x][y] + ";"; } Double freq = mo.get(a); Double freqv = mov.get(a); if (datoveStruktury.vybranaVaha == 0) { mo.put(a, (freq == null) ? 1 : freq + 1); mov.put(a, (freq == null) ? 1 : freq + 1); } else { mo.put(a, (freq == null) ? 1 : freq + 1); mov.put(a, (freqv == null) ? Double.parseDouble(datoveStruktury.stavData[x][datoveStrukt ury.vybranaVaha]) : freqv + Double.parseDouble(datoveStruktury.stavData[x][datoveStrukt ury.vybranaVaha])); } a = a + b; freq = moc.get(a); moc.put(a, (freq == null) ? 1 : freq + 1); } // end for x
20
if ((mo.size() < moc.size()) ) { moc.clear(); Iterator ukazovatko = mo.keySet().iterator(); while(ukazovatko.hasNext()) { String klic = ukazovatko.next(); if (mo.get(klic) < 2) { ukazovatko.remove(); //mov.remove(klic); } } // while ukazovatko double totalAccuracy = 0; double tAErr = 0; Set > mnozinaDvojic = mo.entrySet(); for(Map.Entry dvojice : mnozinaDvojic) { Grafika.oknoVysledku.setText(Grafika.oknoVysledku.getText() + "\n" + "Object: " + dvojice.getKey() + "\n" + " Total in all classes: " + mov.get(dvojice.getKey()).toString()); totalAccuracy = totalAccuracy + mov.get(dvojice.getKey()); } if (datoveStruktury.sumaVah != 0) { totalAccuracy = (double)Math.round(100 - (totalAccuracy * 100 / datoveStruktury.sumaVah )) / 100; } else { totalAccuracy = (double)Math.round(100 - (totalAccuracy * 100 / (datoveStruktury.pocetRadkuSouboru - 1) )) / 100; } tAErr = (double)Math.round((1-totalAccuracy) * 100) / 100; Grafika.oknoVysledku.setText(Grafika.oknoVysledk u.getText() + "\n" + "maximum accuracy: " + totalAccuracy + ", error: " + tAErr); } else { Grafika.oknoVysledku.setText(Grafika.oknoVysledk u.getText() + "\n" + "No same objects in different classes, maximum accuracy: 1.0, error: 0.0" ); } } // noise } // class
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.