Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Hana Kotinová 14.9.2011. 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.

Podobné prezentace


Prezentace na téma: "Hana Kotinová 14.9.2011. 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."— Transkript prezentace:

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

9

10

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


Stáhnout ppt "Hana Kotinová 14.9.2011. 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."

Podobné prezentace


Reklamy Google