Normalizace dat pro neuronovou síť GAME

Rozměr: px
Začít zobrazení ze stránky:

Download "Normalizace dat pro neuronovou síť GAME"

Transkript

1 České vysoké učení technické v Praze Fakulta elektrotechnická ČVUT FEL katedra počítačů Bakalářská práce Normalizace dat pro neuronovou síť GAME Dezider Meško Vedoucí práce: Ing. Mirek Čepek Studijní program: Elektrotechnika a informatika Obor: Výpočetní technika Červen 2008

2 iv

3 Poděkování V úvodu bych chtěl poděkovat všem, kteří mi při vzniku této práce pomáhali jak s technickou, tak s formální stránkou. v

4 vi

5 Prohlášení Prohlašuji, že jsem svou bakalářskou práci vypracoval samostatně a použil jsem pouze podklady uvedené v přiloženém seznamu. V Praze dne vii

6 viii

7 Abstrakt Tato práce pojednává o lineární a nelineární normalizaci vstupních dat před jejich použitím při výpočtech pomocí neuronových sítí. Tyto normalizace se implementují do systému FAKE GAME a poté je jejich implementace otestována. Následně je na několika souborech testovacích dat rámcově porovnán jejich vliv na úspěšnost modelů systému FAKE GAME. Abstract This thesis deals with the linear and nonlinear input data normalization before it is used for neural networks calculation. These normalizations are implemented into FAKE GAME system and the implementation is afterwards tested. Its influence on GAME models is generally compared through several testing data files. ix

8 x

9 Obsah Seznam obrázků xiii Seznam tabulek xiii 1 Úvod 1 2 Metody normalizace Lineární transformace min-max normalizace Nelineární transformace - soft-max normalizace Z-score normalizace Transformace střední hodnoty Vlastní metody normalizace JavaScript Jazyk MATLAB Implementace Podpůrná třída pro normalizaci Min-max normalizace Soft-max normalizace Z-score normalizace Transformace střední hodnoty Uživatelem definovaná normalizace JavaScript Jazyk MATLAB Implementační testy 23 5 Funkční testy Kosatce Nevyžádaná pošta Závěr 29 xi

10 7 Příloha obsah přiloženého CD 31 8 Literatura 33 xii

11 Seznam obrázků 2.1 Kvůli hodnotě 80 jsou téměř všechny ostatní hodnoty transformovány do 60% výstupního rozsahu Průběh funkce podle rovnice 2.4 s různými hodnotami parametru α Hodnoty transformované vztahem 2.5 s různými hodnotami parametru λ Hodnoty transformované vztahem 2.4 s různými hodnotami parametru α při λ = Velikost upravených hodnot po transformaci z-score normalizací Velikost hodnot po transformaci střední hodnoty Seznam tabulek 3.1 Parametry modulu pro min-max normalizaci Parametry modulu pro soft-max normalizaci Parametry modulu pro z-score normalizaci Parametry modulu pro normalizaci střední hodnoty Parametry modulu pro normalizaci skriptu v jazyce JavaScript Parametry modulu pro normalizaci skriptu v jazyce MATLAB Některé parametry systému FAKE GAME pro použití z příkazového řádku Výsledky klasifikace květin při použítí různých normalizačních metod Výsledky klasifikace zpráv při použítí různých normalizačních metod xiii

12 xiv

13 KAPITOLA 1. ÚVOD 1 1 Úvod Neuronové sítě dnes nacházejí stále širší možnosti uplatnění v různých průmyslových odvětvích. Jednou z možností z využití neuronových sítí je i dolování informací. Mezi systémy pro dolování informací patří i systém FAKE GAME. Tento systém sestává ze dvou částí. Část GAME (The Group of Adaptive Models Evolution) je neuronová síť založená na metodě GMDH (The Group Method of Data Handling), která si klade za cíl modelovat systémy z reálného světa na základě mnoha vstupních veličin, ale relativně málého množství záznamů těchto dat. Druhou částí je framework FAKE (The Fully Automated Knowledge Extraction), který zjednodušuje a automatizuje použití části GAME. [1] Cílem této práce je rozšířit možnosti frameworku FAKE o základní metody normalizace vstupních dat a ukázat některé možnosti použití systému FAKE GAME.

14 2 KAPITOLA 1. ÚVOD

15 KAPITOLA 2. METODY NORMALIZACE 3 2 Metody normalizace Mezi nejpoužívanější metody normalizace při úpravě vstupních dat pro neuronové sítě patří: min-max normalizace (lineární transformace) z-score normalizace (normalizace na základě odchylky od průměrné hodnoty) dekadická normalizace (posuv desetinné čárky hodnot tak, aby spadaly do daného intervalu) soft-max normalizace (nelineární transformace logistickou funkcí) V této práci se budu zabývat implementací některých z nich do systému FAKE GAME. Pro lepší představu o funkci jednotlivých transformací a jejich vzorců jsem vygeneroval náhodnou řadu čísel se dvěma extrémními hodnotami (peaks). Dále zobrazené grafy pak budou na ose x reprezentovat vstupní data a jejich hodnotu a na ose y data transformovaná. Z grafů je možné porovnat hodnoty a udělat si obrázek o tom, jak se ta či ona trasformace chová k danemu souboru hodnot. 2.1 Lineární transformace min-max normalizace Obecný tvar lineární transformace můžeme vyjádřit rovnicí: x i = ax i + b (2.1) kde a je koeficient zmenšení (zvětšení), x je transformovaná hodnota a b je velikost posuvu nové hodnoty. Častou úpravou je transformace dat do intervalu 0, 1, pro kterou můžeme použít rovnici [2]: x i = x min(x 1..x i ) max(x 1..x i ) min(x 1..x i ) (2.2)

16 4 KAPITOLA 2. METODY NORMALIZACE kde funkce min() a max() vracejí hodnotu nejmenšího a největšího prvku transformované množiny. Toto ovšem může být problém, protože při normalizaci musíme znát minimální a maximální hodnoty, které jsou známé pro množinu cvičných dat, ale ne pro množinu reálných vstupních dat. Důsledkem překročení rozsahu vstupních dat, je transformace hodnot mimo interval 0, 1. Řešení tohoto problému spočívá v optimálním odhadu minimální a maximální vstupní hodnoty, nebo v ořezání, či úplnému vynechání hodnot překračujících předpokládaný vstupní rozsah. Převod z intervalu 0, 1 do jakéhokoli jiného už jednoduše provedeme pomocí rozšíření předchozí rovnice: x i = x i min(x 1..x i ) max(x 1..x i ) min(x 1..x i ) (O max O min ) + O min (2.3) kde O max a O min jsou hranice výstupního intervalu. Nevýhodou lineární normalizace je skutečnost, že v případě, kdy množina obsahuje hodnoty výrazně větší či menší, než je velikost střední hodnoty vstupních dat, zůstáva většina rozsahu nevyužita. Jestliže jsou tyto hodnoty navíc výsledkem špiček či anomálií, zapříčiní podstatné zkreslení relevantních vstupních informací. Obrázek 2.1: Kvůli hodnotě 80 jsou téměř všechny ostatní hodnoty transformovány do 60% výstupního rozsahu

17 KAPITOLA 2. METODY NORMALIZACE 5 Jednou z možností, jak tento nepříjemný efekt potlačit, je použití nelineární transformace soft-max normalizace. 2.2 Nelineární transformace - soft-max normalizace Tato transformace se chová k maximálním a minimálním hodnotám jemně. Transformuje je do úzkého rozsahu pomocí logaritmické funkce, zatímco většinu hodnot ve středu rozsahu transformuje lineárně. Takto se chová například tato funkce: L(x i ) = e αx i (2.4) kde α určuje strmost křivky α=1 α=2 α= Obrázek 2.2: Průběh funkce podle rovnice 2.4 s různými hodnotami parametru α Tato funkce sice splňuje požadavky na tvar, ale nedovoluje transformovat hodnoty z požadovaného rozsahu a také nedovoluje určit, jaká šířka rozsahu se má ještě transformovat lineárně. Z grafu funkce 2.2 je navíc vidět, že změna parametru α nijak výrazně nedovoluje ovlivnit výsledek transformace, a proto jeho automatické nastavovaní nemá velký smysl.

18 6 KAPITOLA 2. METODY NORMALIZACE Obrázek 2.3: Hodnoty transformované vztahem 2.5 s různými hodnotami parametru λ Jako řešní se nabízí transformovat nejdříve vstupní proměnnou lineárně k hodnotě blízké střední hodnotě m x následovně: x i = x i E(x) λ( σx 2π ) (2.5) kde E(x) je střední hodnota veličiny x, σ x je směrodatná odchylka veličiny x (výpočet hodnoty σ x je uveden v kapitole 2.4) a λ je velikost lineární odezvy měřená v násobcích σ x (σ x pokrývá 68%, 2σ x pokrývá 95,5% a 3σ x pokrývá 99,7% rozsahu). Tyto hodnoty následně můžeme transformovat pomocí vztahu 2.4 do požadovaného rozsahu. Všimněme si na obrázku 2.4, že při parametrech α = 2 a 3 jsou už hodnoty okolo 40 transformovány stejně jako extrémní hodnota 80 a blíží se 1, Z-score normalizace Často používanou metodou pro standardizaci dat ve statistice je použití z-score normalizace. Z-score vyjadřuje vzdálenost daného bodu (hodnoty) od střední hodnoty množiny. Tato vzdálenost je v případě z-score normalizace vyjádřena násobkem velkosti výběrové směrodatné odchylky.

19 KAPITOLA 2. METODY NORMALIZACE 7 Obrázek 2.4: Hodnoty transformované vztahem 2.4 s různými hodnotami parametru α při λ = 3 Střední hodnotu pro danou řadu dat získame vydělením součtu výsledků pozorování počtem těchto pozorování (rovnice 2.6). Střední hodnota udává centrální umístění a směrodatná odchylka udává rozptyl dané množiny dat. [3] x = 1 n x i (2.6) n i=1 Jako příklad lze uvést pohled na průměrnou teplotu ve dvou místech s různým klimatem. Zatímco obě místa mohou mít totožnou průměrnou teplotu, směrodatná odchylka místa ve vnitrozemí bude větší než místa na pobřeží. Toto poskytuje informaci o tom, že předpověď teploty pro místo ve vnitrozemí bude méně spolehlivá pravě kvůli větším odchylkám od průměru. [3] Zde je ještě dobré se pozastavit nad výpočtem hodnoty směrodatné odchylky σ x. Pro empiricky zjištěnou řadu čísel se používá výběrová směrodatná odchylka, kterou lze vypočítat podle vzorce: σ x = 1 N 1 N (x i x) 2 (2.7) i=1

20 8 KAPITOLA 2. METODY NORMALIZACE kde x je aritmetický průměr ze zadaných hodnot. Tento vzorec však vyžaduje předběžný výpočet x, což znamená jednu iteraci přes všechny vstupní hodnoty. Pomocí transformace tohoto vzorce na vzorec 2.8 však můžeme výpočet optimalizovat a všechny operace provést v jedině iteraci. Toto bude mít za následek téměř dvojnásobné zrychlení výpočtu. Podle [4] je však nevýhodou tohoto způsobu optimalizace riziko vlivu zaokrouhlovacích chyb na přesnost výsledku. σ x = 1 ( N ) x 2 i Nx N 1 2 i=1 (2.8) Obrázek 2.5: Velikost upravených hodnot po transformaci z-score normalizací Vstupní data normalizujeme tak, že od každé hodnoty odečteme střední hodnotu vstupních dat a poté výsledek vydělíme velikostí směrodatné odchylky. z = x x σ (2.9)

21 KAPITOLA 2. METODY NORMALIZACE Transformace střední hodnoty Cílem této metody je docílit, nulové střední hodnoty vstupních dat. Toto může být užitečné v případě, že máme více zdrojů porovnatelných dat se vzájemným offsetem. Jako dobrý příklad je možné uvést zpracování dat z několika teplotních senzorů. Tyto senzory nemusí být správně zkalibrované, ale správně vyjadřují hodnotu rozdílu měřených teplot. Normalizace probíhá zpracováním hodnot podle vzorce 2.10 x = x x (2.10) množiny. kde x je střední hodnota dané množiny hodnot, x je aktuální hodnota z dané Obrázek 2.6: Velikost hodnot po transformaci střední hodnoty 2.5 Vlastní metody normalizace Existuje velké množství metod pro normalizaci, ale v projektu FAKE GAME není možné všechny dopředu zahrnout. Uživatel systému navíc může chtít upravit vstupní

22 10 KAPITOLA 2. METODY NORMALIZACE hodnoty nějakým nestandartním způsobem. Pro tento účel je vhodné, aby si celý algoritmus normalizace mohl navrhnout a implementovat sám i za cenu snížené rychlosti výpočtu a větší pracnosti. Při volbě druhu skriptovacího jazyka jsem se rozhodl pro JavaScript a jazyk systému Matlab JavaScript JavaScript je skriptovací jazyk nejčastěji používaný při tvorbě webových stránek. Je dynamický, slabě typovaný a objektově orientovaný. Jeho syntax se podobá syntaxi jazyka C a jazyka JAVA, které mnoho uživatelů ovládá, proto tvořit skripty v tomto jazyce pro ně nebude příliž složité. Od verze 1.6 jazyka JAVA je podpora tohoto skriptovacího jazyka nativní, což znamená, že pro psaní skriptů a jejich spuštění není třeba do systému instalovat žádné dodatečné knihovny či aplikace. Kód pro připočtení hodnoty 100 k vektoru testvector1 v jazyce JavaScript: for(i=0; i<testvector1.length; i++) { testvector1[i]= (+testvector1[i])+100; } Jazyk MATLAB Tento jazyk je rozšířený hlavně v akademické a výzkumné sféře. Jeho syntax je navíc přizpůsobena práci s maticemi a vektory. To velice ulehčuje zpracování vstupních dat, která jsou reprezentovány pravě jako vektory. Zatímco v jazyce JavaScript je třeba pomocí cyklu procházet všechny hodnoty a upravovat je jednotlivě, v jazyce MATLAB stačí provést operaci nad vektorem. Kód pro připočtení hodnoty 100 k vektoru testvector1 v jazyce MATLAB: testvector1=testvector1+100;

23 KAPITOLA 3. IMPLEMENTACE 11 3 Implementace Protože systém FAKE GAME je psaný v jazyce Java a je uvolněn pod licencí GPL [5], byla volba jazyka pro implementaci jednoznačná. Konkrétní použitá verze je Java 1.6. [6] Projekt využívá pro správu verzí systém Subversion. [7] Díky modularitě FAKE GAME je rozšíření systému velice snadné. Metody pro normalizaci si našly své místo v balíčku game.preprocessing.methods.normalization.*. Každý typ normalizace má svou vlastní třídu, jejíž jméno je ve tvaru TypNormalizaceNormalizer a svoji vlastní třídu pro konfiguraci, jejíž jméno má tvar TypNormalizaceNormalizerConfig. Například pro soft-max normalizaci je to SoftmaxNormalizer a SoftmaxNormalizerConfig. Třída TypNormalizaceNormalizer od třídy game.preprocessing.methods.basepreprocessor dědí a předefinuje metody. Jde například o run() (pro spuštění samotné normalizace) load- ConfigurationFromFile(String filename) (pro načtení konfigurace při dávkovém zpracování vstupních dat) a některé další. Třída TypNormalizaceNormalizerConfig rozšiřuje třídu game.preprocessing.methods.base- PreprocessorConfig předefinováním funkce setinitialvalues(). Tato metoda obsahuje volání funkcí addconfigkey() a add2ionames(), které slouží pro přidání, či inicializaci vstupních parametrů a výběr vstupních a výstupních hodnot. Konfigurace jednotlivých vstupních parametrů se provádí v konfiguračním dialogu každé jednotlivé normalizace (neplatí pro automatizované výpočty bez GUI, kdy se načte z uloženého souboru). Protože se bude zpracovávat více vstupních datových vektorů, je možné u všech číselných parametrů nastavit hodnotu pro každý vektor samostatně ve tvaru: vektor1=hodnota;vektor2=hodnota;vekstorx=hodnota Uživatelské rozhraní je možné rozšířit o nové funkce tak, že přidáme do souboru./cfg/units.cfg řádek ve tvaru: #Normalization.LinearNormalizer, kde znak mřížky určuje dialog, kam se má daná možnost přidat (v našem případě je to preprocessing dialog). Normalization je název větve stromu, od kterého tečkou oddělíme jméno třídy, která se má pro daný úkon spustit.

24 12 KAPITOLA 3. IMPLEMENTACE 3.1 Podpůrná třída pro normalizaci Protože většina normalizačních tříd používá stejné funkce, umístnil jsem je do jedné třídy NormalizationToolbox. Tato třída obsahuje dvě statické funkce. 1. separatecfgvalues(hashmap String, Double values, String configstring) tato funkce slouží pro separaci konfiguračních řetězců. Rozkládá řetězce ve tvaru vektor1=hodnota; vektor2=hodnota; vekstorx=hodnota na páry klíč-hodnota. Toto umožňuje individuální konfiguraci pro každý datový vektor. 01: static public void separatecfgvalues( HashMap<String, Double> values, String configstring) { 02: String[] pairs = configstring.split(";"); 03: for (String pair : pairs) { 04: String[] keyvalue = pair.trim().split("="); 05: if (keyvalue.length!= 2) 06: continue; 07: 08: keyvalue[0] = keyvalue[0].trim(); 09: keyvalue[1] = keyvalue[1].trim(); 10: 11: if (keyvalue[0].isempty() keyvalue[1].isempty()) 12: continue; 13: 14: Double value=0d; 15: try { 16: value = Double.parseDouble(keyvalue[1]); 17: } catch (NumberFormatException e) { 18: continue; 19: } 20: values.put(keyvalue[0], value); 21: } 22: } 2. getsigma(fastvector data, Double avg) tato funkce se používá na výpočet směrodatné odchylky. Jako parametry má proměnnou data typu FastVector a proměnnou avg typu Double. V proměnné data jsou uložena data, pro která se má σ vypočítat. V proměnné avg funkce očekává střední hodnotu předávaných dat, kterou použije pro výpočet podle vzorce 2.7. V případě, že hodnota avg je null, funkce zvolí pro výpočet vzorec 2.8

25 KAPITOLA 3. IMPLEMENTACE 13 01: static public double getsigma(fastvector data, Double avg) { 02: int count = data.size(); 03: double temp = 0; 04: // if avg == null, we will use one pass sigma calculation 05: if (avg == null) { 06: avg = 0D; 07: for (int j = 0; j < count; j++) { 08: double value = ((Double) data.elementat(j)).doublevalue(); 09: temp += (value * value); 10: avg += value; 11: } 12: avg /= count; 13: avg *= avg; 14: avg = avg * count; 15: temp = (temp - avg) / (count - 1); 16: return Math.sqrt(temp); 17: } 18: for (int j = 0; j < count; j++) { 19: double value = ((Double) data.elementat(j)).doublevalue() - avg; 20: temp += value * value; 21: } 22: return Math.sqrt(temp / (count - 1)); 23: } 3.2 Min-max normalizace Jak bylo zmíněno v kapitole 2.1, při min-max normalizaci potřebujeme znát maximální a minimální hodnotu transformované množiny. Tu můžeme získat tak, že v prvním průchodu zjistíme extrémní hodnoty, v druhém průchodu provedeme samotnou transformaci. Další možnost je nechat na uživateli, aby zvolil hranice a všechny hodnoty, které jsou mimo tento rozsah budou ořezány na spodní resp. horní hranici. Mnou použitá implementace umožňuje aplikovat obě výše zmíněné metody. Pokud uživatel nenastaví konfigurační proměnné Input Low a Input High, nebo je nastaví obě na stejnou hodnotu, modul zjistí minum a maximum vstupních hodnot a tyto použije pro samotnou normalizaci. V opačném připadě použije hodnoty zadané uživatelem. Podobně funguje i nastavení výstupního rozsahu modulu. Jestliže jej uživatel nezadá, nebo zadá identické hodnoty Output Low a Output High, modul použije jako vý-

26 14 KAPITOLA 3. IMPLEMENTACE Jméno parametru Význam Datový typ Předvolená hodnota Input Low Dolní hranice vstupu Double automaticky Input High Horní hranice vstupu Double automaticky Output Low Dolní hranice výstupu Double 0 Output High Horní hranice výstupu Double 1 Tabulka 3.1: Parametry modulu pro min-max normalizaci stupní rozsah interval 0, 1. Rychlost výpočtu je závislá jenom na počtu vstupních hodnot a na tom, jestli uživatel sám zvolí Input Low a Input High. V případě, že tak neučiní, je třeba tyto hodnoty zjistit a projít všechny vstupní hodnoty. Pak může proběhnout samotný výpočet podle vzorce 2.3. Časová složitost výpočtu je tak lineární. Podle toho, zda uživatel zadal vstupní hranice, funkce Run() zjistí maximální a minimální hodnotu vstupních dat (řádky 6-26). Poté v případě potřeby jednotlivé hodnoty ořeže tak, aby nebyly větší než zadané vstupní hranice (řádky 31-35) a nakonec je transformuje podle vzorce 2.3 (řádek 36) a přepočítá do daného výstupního rozsahu (řádek 38). 01: FastVector f = store.getdeepcopy(idx); 02: Double inputmin = 0D, inputmax = 0D, avg = 0D; 03: Integer count; 04: count = store.getattributelength(idx); 05: 06: if (autorange) { 07: for (int j = 0; j < count; j++) { 08: double value = ((Double) f.elementat(j)).doublevalue(); 09: if (j == 0) { // initialize min and max value 10: inputmin = value; 11: inputmax = value; 12: } 13: avg += value; 14: if (value < inputmin) { 15: inputmin = value; 16: continue; 17: } 18: if (value > inputmax) { 19: inputmax = value; 20: continue; 21: }

27 KAPITOLA 3. IMPLEMENTACE 15 22: } 23: avg /= count; 24: imin = inputmin; 25: imax = inputmax; 26: } 27: 28: for (int j = 0; j < count; j++) { 29: double value = ((Double) f.elementat(j)).doublevalue(); 30: double nvalue = 0; 31: if (value > imax) { 32: value = imax; 33: } else if (value < imin) { 34: value = imin; 35: } 36: nvalue = (value - imin) / (imax - imin); 37: 38: nvalue = nvalue * (omax - omin) + omin; 39: 40: f.setelementat(new Double(nvalue), j); 41: } 42: store.setdeepcopy(idx, f); 3.3 Soft-max normalizace Logistická funkce použitá pro soft-max normalizaci má jen omezený rozsah, a tedy i použití. Nastavení parametru α taktéž nepřináší rozšíření kontroly nad samotnou transformací. Jak bylo zmíněno a ukázáno v kapitole 2.2, je zajímavější kontrolovat transformaci prvotní úpravou hodnot, kde určíme šířku lineární odezvy funkce parametrem λ a až poté použít logistickou funkci. Implementace dovoluje nastavit všechny zmíněné parametry podle požadavků uživatele. Pokud uživatel nezadá parametr σ, funkce ho vypočítá automaticky. Rychlost výpočtu v tomto případě není závislá od nastavení parametrů uživatelem. I když jsme v kapitole 2.4 uvedli možnost, jak zrychlit výpočet parametru σ, střední hodnotu potřebujeme znát i pro výpočet podle rovnice 2.4, modul tedy vždy provede dva průchody vstupními hodnotami. V prvním průchodu vypočítá střední hodnotu, která se použije pro výpočet logistické funkce a výpočet parametru σ. Druhý průchod už přímo transformuje jednotlivé hodnoty podle vzorce 2.5 a 2.4. Časová složitost transformace je tak opět lineární.

28 16 KAPITOLA 3. IMPLEMENTACE Jméno parametru Význam Datový typ Předvolená hodnota Alpha Parametr logistické funkce Double 2 Lambda Násobek směrodatné odchylky Double 2 (95,5%) Sigma Směrodatná odchylka Double automaticky Output Low Dolní hranice výstupu Double 0 Output High Horní hranice výstupu Double 1 Tabulka 3.2: Parametry modulu pro soft-max normalizaci Samotná funkce Run() nejdříve vypočítá průměr ze vstupních hodnot (řádky 6-10), v případě že uživatel nezadal parametr Sigma vypočítá ho (řádky 11 a 12) a poté na každou hodnotu ze vstupních dat použije vzorce 2.5 a 2.4 (řádky 18 a 19). Finálně výslednou hodnotu přepočítá do zvoleného výstupního rozsahu (řádek 21). Zde stojí za zmínku, že pro výpočet podle vzorce 2.4 je použita funkce Math.expm1() (řádek 19), která podle [6] dává pro hodnoty blízké nule výrazně přesnější výsledky. 01: FastVector f = store.getdeepcopy(idx); 02: Double avg = 0D; 03: Integer count; 04: count = store.getattributelength(idx); 05: 06: for (int j = 0; j < count; j++) { 07: double value = ((Double) f.elementat(j)).doublevalue(); 08: avg += value; 09: } 10: avg /= count; 11: if (sigma == 0) 12: sigma = NormalizationToolbox.getSigma(f, avg); 13: 14: for (int j = 0; j < count; j++) { 15: double value = ((Double) f.elementat(j)).doublevalue(); 16: double nvalue = 0; 17: 18: nvalue = (value - avg) / (lambda * (sigma / (2 * Math.PI))); 19: nvalue = 1 / (1 + Math.expm1(-alpha * nvalue) + 1); 20: 21: nvalue = nvalue * (omax - omin) + omin; 22: 23: f.setelementat(new Double(nvalue), j); 24: } 25: store.setdeepcopy(idx, f);

29 KAPITOLA 3. IMPLEMENTACE 17 Jméno parametru Význam Datový typ Předvolená hodnota Average Střední hodnota Double 0 Sigma Směrodatná odchylka Double 1 Mode Konfigurační režim String AUTO(0) Config file path Cesta ke konfiguračnímu String.\ZscoreNormalizer.cfg souboru Tabulka 3.3: Parametry modulu pro z-score normalizaci 3.4 Z-score normalizace Z-score normalizace má pro každý z vektorů dat jako nastavitelné parametry velikost střední hodnoty a směrodatné odchylky. Tato třída má tři pracovní režimy: 1. Režim AUTO. V tomto režimu se vypočítá směrodatná odchylka i střední hodnota každého z vektorů automaticky. Tento režim se zapíná nastavením konfigurační proměnné Mode na hodnotu AUTO nebo 0. Tento režim je předvolený. 2. Režim SEMI. V tomto režimu se v případě, že není nalezen konfigurační soubor na cestě zadané parametrem Config file path, vypočítají střední hodnota a směrodatná odchylka automaticky. Poté se vytvoří soubor, do kterého se spočítané hodnoty uloží. Při dalším spuštění se již použije vytvořený soubor. Tento postup je možné použít pro zjednodušení konfigurace (uživatel nemusí vyplňovat všechny hodnoty stačí když upraví vytvořený soubor) nebo pro automatické nastavení, či jeho zachování pro opakované spuštění pro jinou množinu dat. Tento režim se zapíná nastavením konfigurační proměnné Mode na hodnotu SEMI nebo Režim MANUAL. V tomto režimu velikost střední hodnoty i směrodatné odchylky zadá sám uživatel. Tento režim se zapíná nastavením konfigurační proměnné Mode na hodnotu MANUAL nebo 2. 01: FastVector f = store.getdeepcopy(idx); 02: Double avg = 0D, sigma = 0D;

30 18 KAPITOLA 3. IMPLEMENTACE 03: Integer count; 04: count = store.getattributelength(idx); 05: 06: switch (mode) { 07: default: 08: case AUTO: 09: // average input values 10: for (int j = 0; j < count; j++) { 11: double value = ((Double) f.elementat(j)).doublevalue(); 12: avg += value; 13: } 14: avg /= count; 15: sigma = NormalizationToolbox.getSigma(f, avg); 16: break; 17: case SEMI: 18: if (compute) { 19: for (int j = 0; j < count; j++) { 20: double value = ((Double) f.elementat(j)).doublevalue(); 21: avg += value; 22: } 23: avg /= count; 24: sigma = NormalizationToolbox.getSigma(f, avg); 25: avgstring += ";" + datasetname + "=" + avg; 26: sigmastring += ";" + datasetname + "=" + sigma; 27: } else { 28: avg = cavg; 29: sigma = csigma; 30: } 31: break; 32: case MANUAL: 33: // use user defined value 34: avg = cavg; 35: sigma = csigma; 36: break; 37: } 38: // process every value in dataset 39: for (int j = 0; j < count; j++) { 40: double value = ((Double) f.elementat(j)).doublevalue(); 41: double nvalue = (value - avg) / sigma; 42: f.setelementat(new Double(nvalue), j); 43: } 44: 45: store.setdeepcopy(idx, f); Funkce Run() operuje v závislosti na nastaveném režimu. V režimu AUTO (řádky 8-16) vypočítá velikost střední hodnoty a směrodatné odchylky. V režimu SEMI (řádky

31 KAPITOLA 3. IMPLEMENTACE ) dle toho zda existuje nebo neexistuje konfigurační soubor hodnoty spočíta respektive načte. V režimu MANUAL (řádky 17-36) použije hodnoty zadané uživatelem. Poté podle vzorce 2.9 upraví jednotlivé hodnoty (řádky 39-43). Pro výpočet střední hodnoty a směrodatné odchylky je třeba projít všechny hodnoty časová složitost algoritmu je linární. 3.5 Transformace střední hodnoty Třída pro transformaci střední hodnoty se téměř úplně shoduje s třídou pro z- score normalizaci. Rovněž má tři funkční režimy. Chybí v ní však výpočet a konfigurační parametr pro hodnotu směrodatné odchylky σ. Výpočet proběhne podle vzorce Jméno parametru Význam Datový typ Předvolená hodnota Average Střední hodnota Double 0 Mode Konfigurační režim String AUTO(0) Config file path Cesta ke konfiguračnímu String.\MeanNormalizer.cfg souboru Tabulka 3.4: Parametry modulu pro normalizaci střední hodnoty 3.6 Uživatelem definovaná normalizace JavaScript Skriptování jazykem JavaScript je implementováno třídou CustomJsNormalization. Tato třída ma jediný parametr Script path, který udává cestu ke skriptu, jenž se má vykonat. Skript obdrží najednou všechny vektory dat jako jednotlivá pole. Tato pole jsou datového typu String a jejich jméno se shoduje se jmény vektoru v systému FAKE GAME. Zde je důležité upozornit na to, že pole je předáváno jako pole řetězců. Operace sčítání tedy automaticky přetypuje případné číslo opět na řetězec. To pak může mít za následek nepředvídatelné chování skriptu a programu. 01: ScriptEngineManager manager = new ScriptEngineManager(); 02: ScriptEngine engine = manager.getenginebyname("javascript"); 03:

32 20 KAPITOLA 3. IMPLEMENTACE Jméno parametru Význam Datový typ Předvolená hodnota Script path Cesta k skriptu String c:\script.js Tabulka 3.5: Parametry modulu pro normalizaci skriptu v jazyce JavaScript 04: // load every dataset as array into the javascript engine 05: for (int i = 0; i < s.length; i++) { 06: String datasetname = s[i]; 07: int idx = store.getattributeindex(datasetname); 08: FastVector f = store.getdeepcopy(idx); 09: engine.put(datasetname, f.toarray()); 10: } 11: 12: // execute script 13: try { 14: File tmp = new File(sPath); 15: System.out.println(tmp.getAbsolutePath()); 16: engine.eval(new FileReader(sPath)); 17: } catch (FileNotFoundException e) { 18: } catch (ScriptException e) { 19: } 20: 21: // get variables back and store them 22: for(string name : s){ 23: int idx = store.getattributeindex(name); 24: Object[] newvalues = (Object[]) engine.get(name); 25: FastVector f = new FastVector(); 26: for (int j=0; j<newvalues.length; j++){ 27: f.addelement(newvalues[j]); 28: } 29: store.setdeepcopy(idx, f); 30: } Funkce Run() nejdříve vytvoří JavaScript engine (řádky 1-2), poté do něj přídá všechny vektory dat (řádky 5-9) a vykoná skript na cestě zadané uživatelem v parametru Script path (řádky 13-19). Nakonec vybere všechny hodnoty a uloží je zpět do systému FAKE GAME (řádky 22-30) Jazyk MATLAB Implementace jazyka MATLAB je složitější než implementace jazyka JavaScript. Pro vykonání samotného skriptu byl použit systém Octave, který je volně šířitelný pod

33 KAPITOLA 3. IMPLEMENTACE 21 Jméno parametru Význam Datový typ Předvolená hodnota Script path Cesta k skriptu String c:\script.m Octave path Cesta k systému Octave String c:\program files\octave \bin\octave.exe Tabulka 3.6: Parametry modulu pro normalizaci skriptu v jazyce MATLAB licencí GPL. [8] Jazyk tohoto systému je kompatibilní s jazykem MATLAB. Pro provázání systémů FAKE GAME a Octave bylo navíc potřeba využít knihovny jopas. [9] Stabilní verze knihovny jopas už je několik let stará a bylo ji potřeba upravit tak, aby fungovala s jazykem Java ve verzi 1.6. Při této úpravě jsem také odstranil starší knihovny, které jsou už použity v systému FAKE GAME a zmenšil tak velikost knihovny jopas na 30kB (původně 4,1MB). Taktéž jsem přidal další konstruktor pro objekt Matrix, díky kterému se zjednodušší jeho používání. Stejně jako v předchozím případě jsou všechny datové vektory předány najednou pod jménem vystupujícím v systému FAKE GAME. Samotnou implementaci je možno najít ve třídě CustomOctaveNormalizer. Kromě parametru Script path, který by měl odkazovat na soubor se skriptem, má tato třída ještě parametr Octave path, kde je třeba nastavit cestu k systému Octave. Poměrně závažným nedostatkem je, že systém Octave startuje až několik sekund a tak výrazně prodlužuje celý proces normalizace. 01: // jopas initialization 02: String[] path = { opath }; 03: Jopas jopas = new Jopas(path); 04: 05: // load every dataset into the jopas variable 06: for (int i = 0; i < s.length; i++) { 07: String datasetname = s[i]; 08: int idx = store.getattributeindex(datasetname); 09: FastVector f = store.getdeepcopy(idx); 10: 11: Double[] doublearray = new Double[f.size()]; 12: Object[] objarray = f.toarray(); 13: 14: for(int j=0; j<doublearray.length; j++){ 15: doublearray[j]=(double) objarray[j]; 16: }

Úvod do Matlabu. Praha & EU: Investujeme do vaší budoucnosti. 1 / 24 Úvod do Matlabu

Úvod do Matlabu. Praha & EU: Investujeme do vaší budoucnosti. 1 / 24 Úvod do Matlabu Vytěžování dat, cvičení 1: Úvod do Matlabu Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Fakulta elektrotechnická, ČVUT 1 / 24 Úvod do Matlabu Proč proboha Matlab? Matlab je SW pro

Více

Úvod do programování - Java. Cvičení č.4

Úvod do programování - Java. Cvičení č.4 Úvod do programování - Java Cvičení č.4 1 Sekvence (posloupnost) Sekvence je tvořena posloupností jednoho nebo více příkazů, které se provádějí v pevně daném pořadí. Příkaz se začne provádět až po ukončení

Více

Tabulka 1. Výběr z datové tabulky

Tabulka 1. Výběr z datové tabulky 1. Zadání domácího úkolu Vyberte si datový soubor obsahující alespoň jednu kvalitativní a jednu kvantitativní proměnnou s alespoň 30 statistickými jednotkami (alespoň 30 jednotlivých údajů). Zdroje dat

Více

Iterační výpočty. Dokumentace k projektu č. 2 do IZP. 24. listopadu 2004

Iterační výpočty. Dokumentace k projektu č. 2 do IZP. 24. listopadu 2004 Dokumentace k projektu č. 2 do IZP Iterační výpočty 24. listopadu 2004 Autor: Kamil Dudka, xdudka00@stud.fit.vutbr.cz Fakulta Informačních Technologií Vysoké Učení Technické v Brně Obsah 1. Úvod...3 2.

Více

SEMESTRÁLNÍ PRÁCE Z X37SAS Zadání č. 7

SEMESTRÁLNÍ PRÁCE Z X37SAS Zadání č. 7 SEMESTRÁLNÍ PRÁCE Z X37SAS Zadání č. 7 Daniel Tureček St-lichý týden, 9:15 Zadání Určete periodu signálu s(k), určete stejnosměrnou složku, výkon, autokorelační funkci. Záznam signálu je v souboru persig2.

Více

Základy programovaní 3 - Java. Unit testy. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. 26.,27.

Základy programovaní 3 - Java. Unit testy. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. 26.,27. Základy programovaní 3 - Java Unit testy Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci 26.,27. listopad, 2014 Petr Krajča (UP) Unit testy 26.,27. listopad, 2014 1 / 14 Testování zásadní

Více

Algoritmus pro hledání nejkratší cesty orientovaným grafem

Algoritmus pro hledání nejkratší cesty orientovaným grafem 1.1 Úvod Algoritmus pro hledání nejkratší cesty orientovaným grafem Naprogramoval jsem v Matlabu funkci, která dokáže určit nejkratší cestu v orientovaném grafu mezi libovolnými dvěma vrcholy. Nastudoval

Více

ALGORITMIZACE A PROGRAMOVÁNÍ

ALGORITMIZACE A PROGRAMOVÁNÍ Metodický list č. 1 Algoritmus a jeho implementace počítačovým programem Základním cílem tohoto tematického celku je vysvětlení pojmů algoritmus a programová implementace algoritmu. Dále je cílem seznámení

Více

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu: Čtvrtek 8 prosince Pascal - opakování základů Struktura programu: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury

Více

Neuronové časové řady (ANN-TS)

Neuronové časové řady (ANN-TS) Neuronové časové řady (ANN-TS) Menu: QCExpert Prediktivní metody Neuronové časové řady Tento modul (Artificial Neural Network Time Series ANN-TS) využívá modelovacího potenciálu neuronové sítě k predikci

Více

8 Třídy, objekty, metody, předávání argumentů metod

8 Třídy, objekty, metody, předávání argumentů metod 8 Třídy, objekty, metody, předávání argumentů metod Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost třídám a objektům, instančním

Více

Stručný návod k programu Octave

Stručný návod k programu Octave Stručný návod k programu Octave Octave je interaktivní program vhodný pro technické výpočty. Je nápadně podobný programu MATLAB, na rozdíl od něho je zcela zadarmo. Jeho domovská vebová stránka je http://www.octave.org/,

Více

C# konzole Podíl dvou čísel, podmínka IF

C# konzole Podíl dvou čísel, podmínka IF C# konzole Podíl dvou čísel, podmínka IF Tematická oblast Datum vytvoření 2013 Ročník 3 Stručný obsah Způsob využití Autor Kód Internetové technologie, programování Výpočet podílu v konzolové aplikaci

Více

VYUŽITÍ MATLABU PRO VÝUKU NUMERICKÉ MATEMATIKY Josef Daněk Centrum aplikované matematiky, Západočeská univerzita v Plzni. Abstrakt

VYUŽITÍ MATLABU PRO VÝUKU NUMERICKÉ MATEMATIKY Josef Daněk Centrum aplikované matematiky, Západočeská univerzita v Plzni. Abstrakt VYUŽITÍ MATLABU PRO VÝUKU NUMERICKÉ MATEMATIKY Josef Daněk Centrum aplikované matematiky, Západočeská univerzita v Plzni Abstrakt Současný trend snižování počtu kontaktních hodin ve výuce nutí vyučující

Více

Zápis programu v jazyce C#

Zápis programu v jazyce C# Zápis programu v jazyce C# Základní syntaktická pravidla C# = case sensitive jazyk rozlišuje velikost písmen Tzv. bílé znaky (Enter, mezera, tab ) ve ZK překladač ignoruje každý příkaz končí ; oddělovač

Více

StatSoft Jak vyzrát na datum

StatSoft Jak vyzrát na datum StatSoft Jak vyzrát na datum Tento článek se věnuje podrobně možnostem práce s proměnnými, které jsou ve formě datumu. A že jich není málo. Pokud potřebujete pracovat s datumem, pak se Vám bude tento článek

Více

1 Základní funkce pro zpracování obrazových dat

1 Základní funkce pro zpracování obrazových dat 1 Základní funkce pro zpracování obrazových dat 1.1 Teoretický rozbor 1.1.1 Úvod do zpracování obrazu v MATLABu MATLAB je primárně určen pro zpracování a analýzu numerických dat. Pro analýzu obrazových

Více

Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence

Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence APLIKACE UMĚLÉ INTELIGENCE Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence Aplikace umělé inteligence - seminář ING. PETR HÁJEK, PH.D. ÚSTAV SYSTÉMOVÉHO INŽENÝRSTVÍ A INFORMATIKY

Více

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

Více

Z. Kotala, P. Toman: Java ( Obsah )

Z. Kotala, P. Toman: Java ( Obsah ) Z. Kotala, P. Toman: Java ( Obsah ) 13. Výjimky Výjimka (exception) je definována jako událost, která nastane během provádění programu a která naruší normální běh instrukcí. Výjimka je vyvolána například

Více

FORTANNS. havlicekv@fzp.czu.cz 22. února 2010

FORTANNS. havlicekv@fzp.czu.cz 22. února 2010 FORTANNS manuál Vojtěch Havlíček havlicekv@fzp.czu.cz 22. února 2010 1 Úvod Program FORTANNS je software určený k modelování časových řad. Kód programu má 1800 řádek a je napsán v programovacím jazyku

Více

Obr. P1.1 Zadání úlohy v MS Excel

Obr. P1.1 Zadání úlohy v MS Excel Přílohy Příloha 1 Řešení úlohy lineárního programování v MS Excel V této příloze si ukážeme, jak lze řešit úlohy lineárního programování pomocí tabulkového procesoru MS Excel. Výpočet budeme demonstrovat

Více

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu. Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus

Více

SEMESTRÁLNÍ PRÁCE Z PŘEDMĚTU MODELOVÁNÍ MATLABEM

SEMESTRÁLNÍ PRÁCE Z PŘEDMĚTU MODELOVÁNÍ MATLABEM SEMESTRÁLNÍ PRÁCE Z PŘEDMĚTU MODELOVÁNÍ MATLABEM Jméno: Petr Thür Os. číslo: A04236 E-mail: petr.thur@post.cz Zadání: 8-D Datum vypracování: 7. 5. 2005 Zadání: Sestavte program (funkční M-soubor) pro vykreslení

Více

Číselné charakteristiky a jejich výpočet

Číselné charakteristiky a jejich výpočet Katedra ekonometrie, FVL, UO Brno kancelář 69a, tel. 973 442029 email:jiri.neubauer@unob.cz charakteristiky polohy charakteristiky variability charakteristiky koncetrace charakteristiky polohy charakteristiky

Více

3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem

3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem ČVUT FEL X36PAA - Problémy a algoritmy 3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem Jméno: Marek Handl Datum: 1. 1. 2009 Cvičení: Pondělí 9:00 Zadání Naprogramujte

Více

INSTALACE PRODUKTU ONTOPIA KNOWLEDGE SUITE

INSTALACE PRODUKTU ONTOPIA KNOWLEDGE SUITE INSTALACE PRODUKTU ONTOPIA KNOWLEDGE SUITE profesionální verze 1 Obsah Požadavky... 3 Instalace... 3 Proměnná CLASSPATH... 3 Zpřístupnění licenčního klíče... 3 Ověřování komponent OKS. 3 Spouštíme aplikaci

Více

1. Téma 03 - Rozhodování

1. Téma 03 - Rozhodování 1. Téma 03 - Rozhodování Cíl látky Seznámit se a prakticky si vyzkoušet zápis rozhodování v jazyce Java 1.1. Úvod Jednou z nejčastěji používanou konstrukcí při programování je rozhodování. Právě této problematice

Více

Úloha - rozpoznávání číslic

Úloha - rozpoznávání číslic Úloha - rozpoznávání číslic Vojtěch Franc, Tomáš Pajdla a Tomáš Svoboda http://cmp.felk.cvut.cz 27. listopadu 26 Abstrakt Podpůrný text pro cvičení předmětu X33KUI. Vysvětluje tři způsoby rozpoznávání

Více

2. úkol MI-PAA. Jan Jůna (junajan) 3.11.2013

2. úkol MI-PAA. Jan Jůna (junajan) 3.11.2013 2. úkol MI-PAA Jan Jůna (junajan) 3.11.2013 Specifikaci úlohy Problém batohu je jedním z nejjednodušších NP-těžkých problémů. V literatuře najdeme množství jeho variant, které mají obecně různé nároky

Více

1 Nejkratší cesta grafem

1 Nejkratší cesta grafem Bakalářské zkoušky (příklady otázek) podzim 2014 1 Nejkratší cesta grafem 1. Uvažujte graf s kladným ohodnocením hran (délka). Definujte formálně problém hledání nejkratší cesty mezi dvěma uzly tohoto

Více

Statické proměnné a metody. Tomáš Pitner, upravil Marek Šabo

Statické proměnné a metody. Tomáš Pitner, upravil Marek Šabo Statické proměnné a metody Tomáš Pitner, upravil Marek Šabo Úvod Se statickou metodou jsme se setkali už u úplně prvního programu - Hello, world! public class Demo { public static void main(string[] args)

Více

Aplikace teoretických postupů pro ocenění rizika při upisování pojistných smluv v oblasti velkých rizik

Aplikace teoretických postupů pro ocenění rizika při upisování pojistných smluv v oblasti velkých rizik Aplikace teoretických postupů pro ocenění rizika při upisování pojistných smluv v oblasti velkých rizik Ondřej Pavlačka Praha, 18. ledna 2011 Cíle projektu Vytvořit matematický model pro oceňování přijímaného

Více

Metodické pokyny pro práci s modulem Řešitel v tabulkovém procesoru Excel

Metodické pokyny pro práci s modulem Řešitel v tabulkovém procesoru Excel Metodické pokyny pro práci s modulem Řešitel v tabulkovém procesoru Excel Modul Řešitel (v anglické verzi Solver) je určen pro řešení lineárních i nelineárních úloh matematického programování. Pro ilustraci

Více

Programování v jazyce JavaScript

Programování v jazyce JavaScript Programování v jazyce JavaScript Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Operátory a příkazy BI-JSC Evropský sociální fond

Více

6 Příkazy řízení toku

6 Příkazy řízení toku 6 Příkazy řízení toku Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost příkazům pro řízení toku programu. Pro všechny tyto základní

Více

Lineární regrese. Komentované řešení pomocí MS Excel

Lineární regrese. Komentované řešení pomocí MS Excel Lineární regrese Komentované řešení pomocí MS Excel Vstupní data Tabulka se vstupními daty je umístěna v oblasti A1:B11 (viz. obrázek) na listu cela data Postup Základní výpočty - regrese Výpočet základních

Více

Datové struktury 2: Rozptylovací tabulky

Datové struktury 2: Rozptylovací tabulky Datové struktury 2: Rozptylovací tabulky prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy

Více

Obsah přednášky Jaká asi bude chyba modelu na nových datech?

Obsah přednášky Jaká asi bude chyba modelu na nových datech? Obsah přednášky Jaká asi bude chyba modelu na nových datech? Chyba modelu Bootstrap Cross Validation Vapnik-Chervonenkisova dimenze 2 Chyba skutečná a trénovací Máme 30 záznamů, rozhodli jsme se na jejich

Více

Testování. Zadání příkladu. Vytvoření kostry třídy. Obsah:

Testování. Zadání příkladu. Vytvoření kostry třídy. Obsah: Obsah: Testování... 1 Zadání příkladu... 1 Vytvoření kostry třídy... 1 Napsání testů... 2 Testy správnosti... 3 Testy výjimek... 3 Testy vztahů/závislostí... 4 Zdrojový text testu... 4 Spuštění testů...

Více

Výčtový typ strana 67

Výčtový typ strana 67 Výčtový typ strana 67 8. Výčtový typ V této kapitole si ukážeme, jak implementovat v Javě statické seznamy konstant (hodnot). Příkladem mohou být dny v týdnu, měsíce v roce, planety obíhající kolem slunce

Více

1 Uživatelská dokumentace

1 Uživatelská dokumentace 1 Uživatelská dokumentace Systém pro závodění aut řízených umělou inteligencí je zaměřen na závodění aut v prostředí internetu. Kromě toho umožňuje testovat jednotlivé řidiče bez nutnosti vytvářet závod

Více

9. Ladění a testování programů. booleovský výraz

9. Ladění a testování programů. booleovský výraz 9. Ladění a testování programů Ladění programů s debuggerem jdb Nástroje ověřování podmínek za běhu - klíčové slovo assert Nástroje testování jednotek (tříd, balíků) - junit Pokročilé systémy dynamického

Více

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. December 7, 2016

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. December 7, 2016 ZPRO cvičení 8 Martin Flusser Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague December 7, 2016 Outline I 1 Outline 2 Dynamické alokování paměti 3 Dynamická alokace

Více

Software pro vzdálenou laboratoř

Software pro vzdálenou laboratoř Software pro vzdálenou laboratoř Autor: Vladimír Hamada, Petr Sadovský Typ: Software Rok: 2012 Samostatnou část vzdálených laboratoří tvoří programové vybavené, které je oživuje HW část vzdáleného experimentu

Více

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod. Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň

Více

Kontingenční tabulky v MS Excel 2010

Kontingenční tabulky v MS Excel 2010 Kontingenční tabulky v MS Excel 2010 Autor: RNDr. Milan Myšák e-mail: milan.mysak@konero.cz Obsah 1 Vytvoření KT... 3 1.1 Data pro KT... 3 1.2 Tvorba KT... 3 2 Tvorba KT z dalších zdrojů dat... 5 2.1 Data

Více

Vzorce. StatSoft. Vzorce. Kde všude se dá zadat vzorec

Vzorce. StatSoft. Vzorce. Kde všude se dá zadat vzorec StatSoft Vzorce Jistě se Vám již stalo, že data, která máte přímo k dispozici, sama o sobě nestačí potřebujete je nějak upravit, vypočítat z nich nějaké další proměnné, provést nějaké transformace, Jinak

Více

Kybernetika a umělá inteligence, cvičení 10/11

Kybernetika a umělá inteligence, cvičení 10/11 Kybernetika a umělá inteligence, cvičení 10/11 Program 1. seminární cvičení: základní typy klasifikátorů a jejich princip 2. počítačové cvičení: procvičení na problému rozpoznávání číslic... body za aktivitu

Více

Pravděpodobnost v závislosti na proměnné x je zde modelován pomocí logistického modelu. exp x. x x x. log 1

Pravděpodobnost v závislosti na proměnné x je zde modelován pomocí logistického modelu. exp x. x x x. log 1 Logistická regrese Menu: QCExpert Regrese Logistická Modul Logistická regrese umožňuje analýzu dat, kdy odezva je binární, nebo frekvenční veličina vyjádřená hodnotami 0 nebo 1, případně poměry v intervalu

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

Více

10. cvičení z PST. 5. prosince T = (n 1) S2 X. (n 1) s2 x σ 2 q χ 2 (n 1) (1 α 2 ). q χ 2 (n 1) 2. 2 x. (n 1) s. x = 1 6. x i = 457.

10. cvičení z PST. 5. prosince T = (n 1) S2 X. (n 1) s2 x σ 2 q χ 2 (n 1) (1 α 2 ). q χ 2 (n 1) 2. 2 x. (n 1) s. x = 1 6. x i = 457. 0 cvičení z PST 5 prosince 208 0 (intervalový odhad pro rozptyl) Soubor (70, 84, 89, 70, 74, 70) je náhodným výběrem z normálního rozdělení N(µ, σ 2 ) Určete oboustranný symetrický 95% interval spolehlivosti

Více

Metoda Monte Carlo a její aplikace v problematice oceňování technologií. Manuál k programu

Metoda Monte Carlo a její aplikace v problematice oceňování technologií. Manuál k programu Metoda Monte Carlo a její aplikace v problematice oceňování technologií Manuál k programu This software was created under the state subsidy of the Czech Republic within the research and development project

Více

SOLVER UŽIVATELSKÁ PŘÍRUČKA. Kamil Šamaj, František Vižďa Univerzita obrany, Brno, 2008 Výzkumný záměr MO0 FVT0000404

SOLVER UŽIVATELSKÁ PŘÍRUČKA. Kamil Šamaj, František Vižďa Univerzita obrany, Brno, 2008 Výzkumný záměr MO0 FVT0000404 SOLVER UŽIVATELSKÁ PŘÍRUČKA Kamil Šamaj, František Vižďa Univerzita obrany, Brno, 2008 Výzkumný záměr MO0 FVT0000404 1. Solver Program Solver slouží pro vyhodnocení experimentálně naměřených dat. Základem

Více

Generické programování

Generické programování Generické programování Od C# verze 2.0 = vytváření kódu s obecným datovým typem Příklad generická metoda, zamění dva parametry: static void Swap(ref T p1, ref T p2) T temp; temp = p1; p1 = p2; p2 =

Více

Testování prvočíselnosti

Testování prvočíselnosti Dokumentace zápočtového programu z Programování II (NPRG031) Testování prvočíselnosti David Pěgřímek http://davpe.net Úvodem V různých oborech (například v kryptografii) je potřeba zjistit, zda je číslo

Více

Měření průtoku kapaliny s využitím digitální kamery

Měření průtoku kapaliny s využitím digitální kamery Měření průtoku kapaliny s využitím digitální kamery Mareš, J., Vacek, M. Koudela, D. Vysoká škola chemicko-technologická Praha, Ústav počítačové a řídicí techniky, Technická 5, 166 28, Praha 6 e-mail:

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu

Více

Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly.

Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly. Kapitola Reprezentace grafu V kapitole?? jsme se dozvěděli, co to jsou grafy a k čemu jsou dobré. rzo budeme chtít napsat nějaký program, který s grafy pracuje. le jak si takový graf uložit do počítače?

Více

Matematické modelování dopravního proudu

Matematické modelování dopravního proudu Matematické modelování dopravního proudu Ondřej Lanč, Alena Girglová, Kateřina Papežová, Lucie Obšilová Gymnázium Otokara Březiny a SOŠ Telč lancondrej@centrum.cz Abstrakt: Cílem projektu bylo seznámení

Více

Testování operačního systému Windows Phone 8

Testování operačního systému Windows Phone 8 Testování operačního systému Windows Phone 8 Semestrální práce A2 v rámci předmětu A4B39TUR Muška Adam ČVUT FEL STM 0 Obsah 1. Popis přístroje... 2 2. Popis cílové skupiny... 2 3. Přehled případů užití...

Více

1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004.

1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004. Prostá regresní a korelační analýza 1 1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004. Problematika závislosti V podstatě lze rozlišovat mezi závislostí nepodstatnou, čili náhodnou

Více

Programátorská příručka

Programátorská příručka KAPITOLA 1. PROGRAMÁTORSKÁ PŘÍRUČKA Kapitola 1 Programátorská příručka 1.1 Úvod 1.1.1 Technologie Program je psaný v jazyce Java 1.7. GUI je vytvářeno pomocí knihovny SWT. (http://eclipse.org/swt/) Pro

Více

2.7.6 Rovnice vyšších řádů

2.7.6 Rovnice vyšších řádů 6 Rovnice vyšších řádů Předpoklady: 50, 05 Pedagogická poznámka: Pokud mám jenom trochu čas probírám látku této hodiny ve dvou vyučovacích hodinách V první probíráme separaci kořenů, v druhé pak snížení

Více

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího

Více

Přílohy. Příloha 1. Obr. P1.1 Zadání úlohy v MS Excel

Přílohy. Příloha 1. Obr. P1.1 Zadání úlohy v MS Excel Přílohy Příloha 1 Řešení úlohy lineárního programování v MS Excel V této příloze si ukážeme, jak lze řešit úlohy lineárního programování pomocí tabulkového procesoru MS Excel 2007. Výpočet budeme demonstrovat

Více

11MAMY LS 2017/2018. Úvod do Matlabu. 21. února Skupina 01. reseni2.m a tak dále + M souborem zadané funkce z příkladu 3 + souborem skupina.

11MAMY LS 2017/2018. Úvod do Matlabu. 21. února Skupina 01. reseni2.m a tak dále + M souborem zadané funkce z příkladu 3 + souborem skupina. 11MAMY LS 2017/2018 Cvičení č. 2: 21. 2. 2018 Úvod do Matlabu. Jan Přikryl 21. února 2018 Po skupinách, na které jste se doufám rozdělili samostatně včera, vyřešte tak, jak nejlépe svedete, níže uvedená

Více

Automatické testování softwaru. Testujte svůj kód! Předpoklady: Příklad: sum_digits() Možnost 1: Zkusíme funkci použít v konzoli Pythonu.

Automatické testování softwaru. Testujte svůj kód! Předpoklady: Příklad: sum_digits() Možnost 1: Zkusíme funkci použít v konzoli Pythonu. Automatické testování softwaru Petr Pošík Katedra kybernetiky, FEL ČVUT v Praze OI, B4B33RPH: Řešení problémů a hry, 2016 Předpoklady: funkce moduly Testujte svůj kód! Nebudete vědět, zda váš kód funguje,

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

Více

Semestrální práce Mozaika aneb Co všechno umí pan Voronoi

Semestrální práce Mozaika aneb Co všechno umí pan Voronoi Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky Semestrální práce Mozaika aneb Co všechno umí pan Voronoi Plzeň, 2008 Aubrecht Vladimír Obsah 1 Zadání...

Více

Software602 Form Designer

Software602 Form Designer Software602 Form Designer Javascriptový vyhodnocovací mechanismus výrazů Aktualizováno: 17. 3. 2017 Software602 a.s. Hornokrčská 15 140 00 Praha 4 tel: 222 011 602 web: www.602.cz e-mail: info@602.cz ID

Více

UNIVERZITA PARDUBICE. 4.4 Aproximace křivek a vyhlazování křivek

UNIVERZITA PARDUBICE. 4.4 Aproximace křivek a vyhlazování křivek UNIVERZITA PARDUBICE Licenční Studium Archimedes Statistické zpracování dat a informatika 4.4 Aproximace křivek a vyhlazování křivek Mgr. Jana Kubátová Endokrinologický ústav V Praze, leden 2012 Obsah

Více

TECHNICKÁ UNIVERZITA V LIBERCI. Ekonomická fakulta. Semestrální práce. Statistický rozbor dat z dotazníkového šetření školní zadání

TECHNICKÁ UNIVERZITA V LIBERCI. Ekonomická fakulta. Semestrální práce. Statistický rozbor dat z dotazníkového šetření školní zadání TECHNICKÁ UNIVERZITA V LIBERCI Ekonomická fakulta Semestrální práce Statistický rozbor dat z dotazníkového šetření školní zadání Skupina: 51 Vypracovaly: Pavlína Horná, Nikola Loumová, Petra Mikešová,

Více

První kapitola úvod do problematiky

První kapitola úvod do problematiky První kapitola úvod do problematiky Co je to Flex Adobe Flex je ActionSript (AS) framework pro tvorbu Rich Internet Aplications (RIA), tedy knihovna AS tříd pro Flash. Flex používáme k vytvoření SWF souboru

Více

Dynamicky vázané metody. Pozdní vazba, virtuální metody

Dynamicky vázané metody. Pozdní vazba, virtuální metody Dynamicky vázané metody Pozdní vazba, virtuální metody Motivace... class TBod protected: float x,y; public: int vrat_pocet_bodu() return 1; ; od třídy TBod odvodíme: class TUsecka: public TBod protected:

Více

PODOBÁ SE JAZYKU C S NĚKTERÝMI OMEZENÍMI GLOBÁLNÍ PROMĚNNÉ. NSWI162: Sémantika programů 2

PODOBÁ SE JAZYKU C S NĚKTERÝMI OMEZENÍMI GLOBÁLNÍ PROMĚNNÉ. NSWI162: Sémantika programů 2 PI JE JEDNODUCHÝ IMPERATIVNÍ PROGRAMOVACÍ JAZYK OBSAHUJE PODPORU ANOTACÍ NEOBSAHUJE NĚKTERÉ TYPICKÉ KONSTRUKTY PROGRAMOVACÍCH JAZYKŮ JAKO JSOU REFERENCE, UKAZATELE, GLOBÁLNÍ PROMĚNNÉ PODOBÁ SE JAZYKU C

Více

KTE / ZPE Informační technologie

KTE / ZPE Informační technologie 4 KTE / ZPE Informační technologie Ing. Petr Kropík, Ph.D. email: pkropik@kte.zcu.cz tel.: +420 377 63 4639, +420 377 63 4606 (odd. informatiky) Katedra teoretické elektrotechniky FEL ZČU Plzeň Největší

Více

PV021 Vícevrstvá neuronová síť pro rozeznávání mikroteček. Matúš Goljer, Maroš Kucbel, Michal Novotný, Karel Štěpka 2011

PV021 Vícevrstvá neuronová síť pro rozeznávání mikroteček. Matúš Goljer, Maroš Kucbel, Michal Novotný, Karel Štěpka 2011 PV021 Vícevrstvá neuronová síť pro rozeznávání mikroteček Matúš Goljer, Maroš Kucbel, Michal Novotný, Karel Štěpka 2011 Úkol sítě Rozeznávat obrázky obsahující fluorescenční mikrotečky od obrázků s nespecifickým

Více

Obsah Úvod Kapitola 1 Než začneme Kapitola 2 Práce s hromadnými daty před analýzou

Obsah Úvod Kapitola 1 Než začneme Kapitola 2 Práce s hromadnými daty před analýzou Úvod.................................................................. 11 Kapitola 1 Než začneme.................................................................. 17 1.1 Logika kvantitativního výzkumu...........................................

Více

Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program

Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program Denotační sémantika programovacího jazyka doc. Dr. Ing. Miroslav Beneš katedra informatiky, A-1007 59 732 4213 Obsah přednášky Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup

Více

Kolekce ArrayList. Deklarace proměnných. Import. Vytvoření prázdné kolekce. napsal Pajclín

Kolekce ArrayList. Deklarace proměnných. Import. Vytvoření prázdné kolekce. napsal Pajclín Kolekce ArrayList napsal Pajclín Tento článek jsem se rozhodl věnovat kolekci ArrayList, protože je to jedna z nejpoužívanějších. Tento článek není kompletním popisem třídy ArrayList, ale budu se snažit

Více

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette Kapitola 1 PHP framework Nette 1.1 Úvod Zkratka PHP (z anglického PHP: Hypertext Preprocessor) označuje populární skriptovací jazyk primárně navržený pro vývoj webových aplikací. Jeho oblíbenost vyplývá

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

Popisná statistika kvantitativní veličiny

Popisná statistika kvantitativní veličiny StatSoft Popisná statistika kvantitativní veličiny Protože nám surová data obvykle žádnou smysluplnou informaci neposkytnou, je žádoucí vyjádřit tyto ve zhuštěnější formě. V předchozím dílu jsme začali

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

Implementace numerických metod v jazyce C a Python

Implementace numerických metod v jazyce C a Python Fakulta elektrotechnická Katedra matematiky Dokumentace k semestrální práci Implementace numerických metod v jazyce C a Python 2013/14 Michal Horáček a Petr Zemek Vyučující: Mgr. Zbyněk Vastl Předmět:

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

1 Návod na instalaci prostředí LeJOS-NXJ a přehrání firmwaru NXT kostky

1 Návod na instalaci prostředí LeJOS-NXJ a přehrání firmwaru NXT kostky 1 Návod na instalaci prostředí LeJOS-NXJ a přehrání firmwaru NXT kostky 1. Nainstalujte ovladač na připojení NXJ přes USB rozhraní. Pokud jste nainstalovali software od LEGO Mindstorms, který se k legu

Více

Poslední nenulová číslice faktoriálu

Poslední nenulová číslice faktoriálu Poslední nenulová číslice faktoriálu Kateřina Bambušková BAM015, I206 Abstrakt V tomto článku je popsán a vyřešen problém s určením poslední nenulové číslice faktoriálu přirozeného čísla N. Celý princip

Více

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu 1 Podklady předmětu pro akademický rok 2006/2007 Radim Farana Obsah 2 Obsah předmětu, Požadavky kreditového systému, Datové typy jednoduché, složené, Programové struktury, Předávání dat. Obsah předmětu

Více

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7 Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí

Více

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz)

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz) Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz) Autor: Radek Vystavěl Díl 12: Algebra Lineární transformace MATEMATIKA Lineární transformace, neboli přeet hodnoty x podle

Více

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic Přednáška třetí (a pravděpodobně i čtvrtá) aneb Úvod do lineární algebry Matice a soustavy rovnic Lineární rovnice o 2 neznámých Lineární rovnice o 2 neznámých Lineární rovnice o dvou neznámých x, y je

Více

8. Posloupnosti, vektory a matice

8. Posloupnosti, vektory a matice . jsou užitečné matematické nástroje. V Mathcadu je často používáme například k rychlému zápisu velkého počtu vztahů s proměnnými parametry, ke zpracování naměřených hodnot, k výpočtům lineárních soustav

Více

Návod pro práci s SPSS

Návod pro práci s SPSS Návod pro práci s SPSS Návody pro práci s programem SPSS pro kurz Metodologie pro Informační studia a knihovnictví 2 (jaro 2013) Ladislava Zbiejczuk Suchá Instalace programu SPSS najdete v INETu. Po přihlášení

Více

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek 8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek 1/41 Základní příkazy Všechny příkazy se píšou malými písmeny! Za většinou příkazů musí být středník (;)! 2/41 Základní příkazy

Více

Textové popisky. Typ dat

Textové popisky. Typ dat Textové popisky Newsletter Statistica ACADEMY Téma: Možnosti softwaru, datová reprezentace Typ článku: Tipy a triky Máte ve svých datech kategorie ve formě textu? Víme, že někdy není úplně jasné, jak Statistica

Více

MS SQL Server 2008 Management Studio Tutoriál

MS SQL Server 2008 Management Studio Tutoriál MS SQL Server 2008 Management Studio Tutoriál Vytvoření databáze Při otevření management studia a připojením se ke konkrétnímu sql serveru mám v levé části panel s názvem Object Explorer. V tomto panelu

Více