Späť na blog
Vzdelávanie

Data Science: ktorým jazykom začať?

Skillmea tím
11.08.2021
12 minút čítania

Aj ty rozmýšľaš o tom, že sa naučíš data science, ale nevieš, kde začať? Dostávame otázky na to, s ktorým data science jazykom začať ako s prvým. Preto sme pripravili tento blog, v ktorom ti zosumarizujeme nami navrhovaný postup učenia sa data science. V článku nájdeš tipy na jazyky dátovej vedy od našich lektorov Mira Beku, ktorý spravil populárny online kurz Python Data Science a od Mareka Čecha, ktorý vytvoril kurz so zameraním na SQL dátovú analýzu. Veríme, že tento článok ti pomôže vybrať ten správny data science jazyk.

Správny jazyk pre tvoje Data Science ciele

Predtým, ako si vyberieš konkrétny jazyk, by si si mal(a) položiť niekoľko otázok a zodpovedať na ne. Sú to najmä tieto: Na akých projektoch chceš pracovať? Aké témy ťa zaujímajú? Do ktorých odvetví chceš ísť?

Odpovede na tieto otázky ti pomôžu určiť jazyk, ktorý sa budeš musieť naučiť. Niektoré odvetvia vyžadujú znalosť konkrétneho jazyka, je to najmä z dôvodu, že budeš pracovať s preverenými modelmi daného odvetvia, ktoré sú vytvorené pomocou určitého jazyka.

Dobrým postupom je aj opýtať sa dátových vedcov z odvetvia, ktoré ťa zaujíma, na jazyky, ktoré používajú a čím odporúčajú začať. Nižšie v článku nájdeš niekoľko facebookových a iných skupín z regiónu Slovenska a Česka, ktoré ti odporúčame.

TL;DR: Najčastejšie používané jazyky v dátovej vede sú Python, R a SQL. Toto sú aj nami odporúčané jazyky, ktorými začať, pokiaľ máš v úmysle stať sa dátovým vedcom. 

Pri výbere akéhokoľvek z data science jazykov však v podstate neurobíš chybu, nakoľko keď sa naučíš extrahovať poznatky a dáta pomocou jedného jazyka, nebude pre teba problém naučiť sa iný jazyk. Všestranný dátový vedec by mal byť schopný "skákať" medzi jazykmi.

Najobľúbenejšie Data Science jazyky

V tomto stručnom prehľade ti predstavíme najobľúbenejšie Data Science jazyky a na čo slúžia. Dobrou správou je, že Python, R aj SQL majú rozsiahle ekosystémy a komunity, takže tieto jazyky sú vhodné pre takmer všetky úlohy dátovej vedy.

Python 

Python je univerzálny moderný programovací jazyk, vieš ním robiť weby aj programovať robotov. Medzi programátormi je obľúbený pre svoju stručnú a ľahko čitateľnú syntax. Dobre sa teda číta a je možné sa ho veľmi rýchlo naučiť - je teda skvelou voľbou pre výučbu programovania. Vďaka množstvu výkonných knižníc a balíkov môže Python implementovať mnohé zo štatistických modelov a výpočtov potrebných pre dátovú vedu. Je to tiež jeden z najlepších jazykov na získavanie (scraping) údajov z webu.

Veľa firiem a organizácií používa Python na data science, pretože ich programátori už používajú Python aj na iné účely. Python tiež používa intuitívnu a jednoduchú syntax, takže je vhodný pre začiatočníkov na učenie sa dôležitých všeobecných konceptov programovania, ako sú napr. funkcie.

Miernou nevýhodou Pythonu ako prvého jazyka pre data science je, že základná inštalácia Pythonu neobsahuje štatistické funkcie, takže si budeš musieť stiahnuť všetky potrebné balíčky, aby si mohol začať s data science v Pythone. Keď si však všetko nastavíš, Python sa dá ľahko naučiť.

Zopár zaujímavých a odporúčaných balíčkov pre Python:

Lektor Miro Beka odporúča aj Jupyter notebook, ktorý je podľa neho "skvelý nástroj ako pracovať s Python datas cience, pretože programátor vie priamo v ňom vykonávať všetky funkcie, zobrazovať grafy a obrázky, prípadne importovať existujúce jupyter notebooky. Keďže python nemá natívne IDE, kde by všetky tieto veci fungovali out of the box, jupyter notebook slušne dopĺňa Python prostredie o potrebné nástroje."

Programovací jazyk R 

R je štatistický programovací jazyk vytvorený pre analýzu údajov, vizualizáciu údajov a dátovú vedu. Dodáva sa s komplexným súborom vstavaných štatistických funkcií a metód.

R je dobrá voľba, ak si nováčik v oblasti dátovej vedy, ale už máš základné znalosti o všeobecných konceptoch programovania. Dátové štruktúry, typy premenných a analytické nástroje v R sú jednoduché a navrhnuté špeciálne pre dátovú vedu. Na začiatku nemusíš byť zaneprázdnený syntaxou alebo viacerými rôznymi knižnicami.

So základnou inštaláciou R budeš mať prístup k mnohým funkciám dátovej vedy, ako sú lineárne regresie alebo t-testy, a vytvárať peknú grafiku a vizualizácie. R sa tiež dobre kombinuje s RStudio - integrovaným vývojovým prostredím (IDE) - ktoré uľahčuje spustenie kódu R a kontrolu výstupu.

Medzi niekoľko užitočných balíkov, o ktorých by si mal vedieť pri učení jazyka R, patria:

  • Zbierka data science balíčkov: tidyverse
  • Data manipulácia: dplyr (nachádza sa aj v tidyverse)
  • Vizualizácia: ggplot2 (nachádza sa aj v tidyverse)
  • Regresia: caret

SQL

SQL je jazyk, ktorý umožňuje programátorom komunikovať s databázami a spravovať údaje, ktoré obsahujú. Bežne sa používa na dopytovanie a úpravu údajov uložených v relačnej databáze.

Dátoví vedci zvyčajne extrahujú údaje z databázy pomocou jazyka SQL a potom ich importujú do R alebo Pythonu na analýzu. Bez ohľadu na to, aký jazyk sa pre analýzu údajov naučíš, SQL je dôležité naučiť sa, ak chceš sťahovať údaje z databáz.

Znalosť jazyka SQL ti umožňuje pracovať s databázami PostgreSQL, SQLite, MySQL a ďalšími relačnými databázami. Syntax základných dotazov je v rôznych databázach podobná, takže SQL je na tento účel univerzálnym jazykom. Ak sa chceš dozvedieť viac o rôznych typoch databáz, pozri si tento online kurz o MySQL a SQLite.

Lektor Marek Čech hovorí o SQL ako o vstupnej bráne do odborov súvisiacich so správou dát, či už sa jedná o dáta science, dáta analýzu alebo napríklad business intelligence. Je nielen univerzálnym jazykom pre komunikáciu s databázami a získavanie dát z nich, ale ponúka aj veľké množstvo vstavaných funkcií, vďaka ktorým je používateľ veľmi rýchlo a jednoducho schopný robiť pomerne komplexné operácie.

"Začať svoju cestu k práci s dátami jazykom SQL by som práve preto odporučil aj ľuďom, ktorí nemajú predchádzajúce skúsenosti s programovaním či "kódovaním". Človek sa tak naučia písať jednoduché aj zložité otázky, vytvárať databázové schémy, indexy či procedúry, a všeobecne pochopí, ako tok dát a ich čistenie / transformácie bežne prebieha." hovorí ďalej Marek Čech.

Jazyk SQL je možné využiť naozaj v akomkoľvek odbore. Poznať ho teda znamená otvorené dvere do lokálnych podnikov i nadnárodných korporácií snáď vo všetkých odvetviach. A keď sa človek rozhodne svoje znalosti rozšíriť o ďalšie jazyky, bude sa mu znalosť SQL stále hodiť pri pátraniach na zdrojové dáta a často aj pre najrôznejšie dáta analytické operácie či poskytovanie dát "businessovým" používateľom - teda napr. Manažment firmy.

Ďalšie data science jazyky

V závislosti od toho, do akého odvetvia nakoniec pôjdeš, sa možno budeš musieť naučiť konkrétny jazyk pre dátovú vedu. V nasledujúcom zozname jazykov sa dozvieš viac o tom, na čo sa používajú.

C/C ++: C aj C ++ vyžadujú silné znalosti základov programovania a učenie týchto jazykov môže trvať dlhšie. V kombinácii s Pythonom alebo R je možné C/C ++ použiť na rýchlejšie a efektívnejšie výpočty datasetov.

JavaScript: JavaScript je super nástroj na vývoj interaktívnych data vizualizácií na webe s knižnicami ako D3.js. JavaScript tiež podporuje knižnice strojového učenia ako TensorFlow.js.

MATLAB: Ideálny pre pokročilé numerické výpočty a na riešenie zložitých matematických a štatistických problémov. MATLAB sa v akademickom prostredí široko používa na vyučovanie matematiky, fyziky a inžinierstva.

Julia: Novší programovací jazyk navrhnutý pre numerickú analýzu a výpočtovú vedeckú analýzu. Je to užitočné pre aplikácie vo fyzike, chémii, astronómii, strojárstve, bioinformatike a ďalších oblastiach.

Scala: Výkonný jazyk, ktorý dokáže spracovať veľké množstvo údajov. Scala beží na Java Virutal Machine, čo znamená, že sa dobre integruje s programami napísanými v Jave.

SAS: Vytvorený pre pokročilú analytiku, obchodnú inteligenciu a prediktívnu analýzu. SAS sa bežne používa v zdravotníctve, bankovníctve a poisťovníctve.

Stata: Používa sa v ekonomickom výskume, verejnej politike a sociálnych vedách. Stata je navrhnutá pre čokoľvek od jednoduchej deskriptívnej analýzy po komplexné štatistické modelovanie.

Ďalšie vzdelávanie v data science

Pokiaľ chceš byť v kontakte s ľuďmi z fachu, pozri si týchto zopár užitočných odkazov. Toto sú slovenské Facebook skupiny, ktoré sa zaoberajú dátovou vedou:

Pycon konferencia v Bratislave je organizovaná dobrovoľníkmi a dobrovoľníčkami z občianskeho združenia SPy o.z. zameraného na šírenie jazyka Python a ďalších open sourcových technológií a myšlienok. Pycon má špecializovaná časť, ktorá sa volá Edu Summit a je zameraná na vyučovanie programovania na základných a stredných školách. Viac info nájdeš na webe Pyconu.

Pythonu sa venuje aj konferencia Python Day Bratislava. Je to československá konferencia, na ktorej si vypočuješ prednášky od popredných českých a slovenských odborníkov zo sveta Pythonu. Ročník 2021 bol organizovaný online.

Machine Learning Prague je najväčšia európska konferencia o Machine Learningu, AI a Deep Learningu. Ročník 2022 bude v marci, viac info na stránke konferencie. 

Skillmea tím

Sme jednotka v online vzdelávaní na Slovensku.

Na našom webe nájdeš viac ako 260 rôznych videokurzov z oblastí ako programovanie, tvorba hier, testovanie softwaru, grafika, UX dizajn, online marketing, MS Office a pod. Vyber si kurz, ktorý ťa posunie vpred ⏩

Mohlo by ťa zaujímať

Vzdelávanie
25.06.2021
Skillmea tím

Krátky úvod do SQL

Úvod do databázyNa internete, v mobilných aplikáciách vo webových aplikáciách potrebujeme dáta – informácie. Tieto informácie musia byť niekde uložené. My si budeme rozprávať o SQL databázach. Sú to systémy, ktoré majú v sebe uložené dáta vo forme tabuliek. Z týchto tabuliek následne tieto dáta čítame a zobrazujeme používateľom. Pozrime sa na príklad. Majme databázu – informácie o škole. V tejto databáze máme informácie o triedach, učiteľoch alebo aj o žiakoch. Začnime s triedami. Aké máme informácie o triede? Trieda má názov, kapacitu, číslo miestnosti, označenie či je interaktívna a podobne. Tieto označenia by boli názvy stĺpcov v tabuľke. Riadky v tabuľke sú následne reálne dáta.  Názov tabuľky: Class V databáze budeme mať viacero tabuliek, podľa požiadaviek. Môžeme mať všetko v jednej tabuľke, ale ako to potom rozdelíme? Nad takýmto uvažovaním treba myslieť dopredu. Analýza a návrh tabuliek ide ruka v ruke s praxou. Neboj sa toho, teraz je potrebné hlavne, aby si získal prax a to ide ruka v ruke s chybami.  Úvod do SQLV počítačovom svete máme viacero typov databáz. My si niečo povieme o SQL teda o Structured Query Language. V preklade niečo ako štruktúrovaný dopytový jazyk. Query teda dopyt je príkaz – žiadosť – dopyt na databázu. Žiadame o vrátenie dát, o úpravu dát, vloženie alebo o zmazanie dát. Databáza je samostatný systém, ktorý môže byť na tvojom počítači alebo na vzdialenom počítači. Na túto databázu potom pošleme dopyt. Dopyt pošleme formou SQL príkazov, ktoré majú určitú štruktúru.  SQL syntaxSQL nie je case sensitive, teda sa nerozlišujú veľké a malé písmená. Napriek tomu sa príkazy píšu najmä veľkými písmenami. Príkazy vieme písať aj na viacero riadkov, ale musia byť ukončené bodkočiarkou. SELECT * FROM Class;Alebo: SELECT * FROM Class;Samozrejme zmysel to dáva len ak je komplikovanejší príkaz. Názvy stĺpcov a tabuliek píšeme malými písmenami. Ak je názov zložený z viacerých slov, tak slová oddelíme znakom _ podtržník. Je to odporúčaný spôsob pre lepšiu čitateľnosť. Názvy môžu obsahovať aj čísla. Pri vymýšľaní názvov sa pokús vyhnúť množným číslam. Názvy majú byť krátke a výstižné.  Názvy nesmú byť totožné s kľúčovými slovami, ako je napríklad slovo SELECT / select. DatabázaVytváranie databázyDatabázu vieme vytvoriť aj pomocou príkazu ak sa napojíme na inštaláciu databázového systému, napríklad MySQL. Príkaz by vyzeral nasledovne: CREATE DATABASE Class; Alebo ju vytvoríme po pripojení sa na databázový systém z databázovej aplikácie. Tých je viacero. MySQL workbench, DBiever alebo SQuirrel. Aj programovacie vývojové prostredia sa vedia pripojiť na databázu ako napríklad IntelliJ IDEA Ultimate edition. Všetky poskytujú prostredie na správu a prezeranie databáz. Databázu vieme aj zmazať: DROP DATABASE Class; Premenovať: RENAME DATABASE Class TO new_class_name;  Vytváranie tabuliekTeraz, keď sme vytvorili databázu, tak si môžeme vytvoriť tabuľky. Znovu vieme použiť prostredie na správu databáz, ale my si ukážeme postup pomocou príkazu. Pozrime sa na príklad: CREATE TABLE Class ( id int, name varchar(255), capacity int, room_number int, interactive boolean );Čo sme napísali? Na začiatok máme príkaz CREATE TABLE Class, kde vravím, že chcem vytvoriť tabuľku s menom Class. Následne medzi zátvorky napíšeme zoznam stĺpcov – tučným písmom naznačené (id, name ...). Vedľa názvov stĺpcov máme špecifické príkazy pre dané databázové systémy. Jedno je však spoločné – za názvom stĺpcu nasleduje typ údaju – musíme zašpecifikovať, či je to číslo, či je to text, či je to boolean a podobne. Špecifikovanie dátových typov sa môže líšiť podľa toho, akú databázu používame. Základné typy sú podobné a niektoré rovnaké. Napríklad text zašpecifikujem ako varchar – v zátvorke je dĺžka počtu znakov, teraz som povedal, že názov môže mať dĺžku len 255 znakov. Páčil sa vám článok? V nasledujúcom článku sa pozrieme na ďalšie SQL príkazy.
Vzdelávanie
10.06.2021
Ľudovít Nastišin

Izometrický dizajn: 3D objekty zobrazené v 2D priestore

Vo svojej podstate predstavuje izometrický dizajn spôsob, akým zobrazujeme trojrozmerné objekty v dvojrozmernom priestore. Izometria však nie je to isté ako perspektíva, ktorá je zvyčajne úzko spojená s realistickým umením. Hlavným dôvodom je to, že nemá žiadny „miznúci bod“ (vanishing point). Práve to umožňuje izometrickým tvarom zachovať si kompozíciu bez ohľadu na to, kde človek stojí alebo sedí pri pozorovaní izometrického dizajnu. Možno si si všimol izometrické reklamy, v digitále alebo infografikách, či vo svojich obľúbených videohrách a ilustráciách. Izometrické umenie dáva dizajnérom nečakane široké spektrum možností. A pretože je založené na tvaroch, izometrické kresby sa vytvárajú prekvapivo jednoduchým procesom. Je to tiež veľká sranda! Väčšinou... Ako vytvárať izometrické dizajnyDizajn je izometrický iba vtedy, ak kopíruje izometrickú mriežku. Tú tvoria vertikálne čiary, ktoré zostávajú pri postupe zvislé a všetky vodorovné čiary sú sklonené o 30 stupňov. Toto sa tiež nazýva pravidlom 120 stupňov. To hovorí, že uhol medzi osami X, Y a Z musí byť spolu 120 stupňov. • Dizajn sa musí sa riadiť izometrickou mriežkou • Dizajn nemôže obsahovať zbiehajúce sa čiary • Zvislé čiary zostávajú zvislé, zatiaľ čo vodorovné čiary majú 30 stupňový sklon • Os X, Y a Z spolu tvoria spolu až 120 stupňov Kedy použiť izometrický dizajnIzometrická projekcia je pre dizajnérov veľmi užitočná - najmä architektov, priemyselných a interiérových dizajnérov, pretože je ideálna na vizualizáciu miestností, produktov či infraštruktúry. Je skvelým spôsobom, ako rýchlo otestovať rôzne dizajnérske nápady. Existuje množstvo ďalších situácií, v ktorých je izometrická projekcia užitočná. V systémoch orientácie napríklad v múzeách alebo galériách môžu izometrické nástenné mapy ukázať návštevníkom, kde sa v budove nachádzajú, čo sa deje inde a ako sa tam dostať. Niektoré z najlepších infografík používajú izometrickú projekciu, ktorá im umožňuje zobraziť viac informácií, ako by bolo možné na 2D výkrese. A dokonca aj logá používajú tento prístup na vytvorenie efektu priestorového efektu. Isometric case study: Monument ValleyKeďže pohľad v tejto hre má jediný bod, ktorý sa nikdy nepohybuje, objavili sa tu zaujímavé problémy týkajúce sa manipulácie perspektívy. Aj keď sa zdá, že chodník alebo most vedie na prvý pohľad do slepej uličky, rýchle otáčanie mapy ukazuje cestu vedúcu na nové miesto. Vďaka tomu je v hre veľa hlavolamov, ktoré sa zdajú buď nemožné alebo príliš jednoznačné. No ani jedno nie je pravda. Je to len komplikovanejšie, ako sa na prvý pohľad zdá. A aby tento efekt mohli dosiahnuť, všetko sa muselo presne zoradiť v rôznych uhloch. Preto sa vývojári rozhodli položiť hru do 30-stupňovej izometrickej mriežky. To znamená, že každý uhol, ktorý vidíte, je buď 30 stupňov, 120 stupňov alebo úplne zvislý, čo sme si už vysvetlili vyššie. Izometrický dizajn je skvelá technika na oživenie 2D flat dizajnu. Prirodzenou výhodou je, že grafiku pomocou izometrickej projekcie vnímame jasnejšie a veľmi dobre sa v nej vieme orientovať. Izometrické vzory vytvárajú realitu, v ktorej môžeme vnímať veci také, aké sú. Divné, ale funkčné. A práve to z nej robí vynikajúci doplnok k alternatívam dizajnu, ktoré už máš vo svojom portfóliu. Ako si vytvoriť takú izometrickú mriežku sa dozvieš na tomto videu:
Vzdelávanie
14.05.2021
Skillmea tím

Podmienené formátovanie v Exceli

V tomto článku ti popíšeme, ako využívať podmienené formátovanie v Exceli. Podmienené formátovanie je dobré využívať vtedy, keď potrebuješ zmeniť formát vybraných buniek, pokiaľ sú splnené isté kritériá (podmienky). Formátovať je možné viacero atribútov, môže to byť farba, percentá, dátumy a podobne. Čo je to podmienené formátovanie?Podmienené formátovanie (alebo conditional formatting) je Excel nástroj, pomocou ktorého môžeš nastaviť automatické formátovanie buniek. Podmienené formátovanie slúži na vyznačenie údajov, ktoré spĺňajú nejakú tebou zadanú podmienku. Uvediem jeden príklad: máš databázu produktov (môže ich byť 100, 1000 alebo 10000) a chceš v tejto databáze vyznačiť zelenou farbou len produkty, ktorých cena je nižšia ako 50 Eur. Teraz prichádza na pomoc podmienené formátovanie. Keď si to rozbijeme na drobné, najskôr: 2. Formát: vyznač zelenou farbou. 4. Podmienka: cena nižšia ako 50. Príklad podmieneného formátovania cez "ROVNÁ SA"Mám Excel tabuľku s údajmi o zamestnancoch a oddelení, v ktorom pracujú. Tabuľku si môžeš stiahnuť odtiaľto, prípadne si použi akýkoľvek vlastný Excel súbor. V mojom súbori chcem formátom farebne odlíšiť všetkých zamestnancov, ktorí pracujú v oddelení HR. Ako budem postupovať?Najskôr si označím všetky bunky, ktoré plánujem formátovať. Môžem to urobiť potiahnutím myškou, alebo v prípade väčšieho počtu údajov použi klávesovú skratku CTRL+SHIFT+⬇ (pre MacOS používateľov je to CMD+SHIFT+⬇). Následne na záložke DOMOV (HOME) tvojho Excelu vyhľadaj Podmienené formátovanie (Conditional Formatting) a následne Pravidlá zvýrazňovania buniek (Highlight Cells Rules) a potom nástroj Rovná sa (Equal to), vid obrázok nižšie. Teraz vpíšeš hodnotu HR do políčka, ktoré som vyznačil farebne na obrázku nižšie a použiješ buď niektorý z prednastavených formátov, alebo si vytvoríš vlastný. Po odkliknutí sa ti farebne odlíšia všetky polia obsahujúce HR. “Je dobré spomenúť, že Excel nerozlišuje veľké a malé písmená, takže keby do daného filtra vpíšeš aj "hR", "hr" alebo "Hr", tak Excel bude vedieť, čo od neho chceš. Pokiaľ by si však už použil diakritiku, s tým si Excel neporadí.” Výsledok nášho podmieneného formátovania bude teda vyzerať nasledovne: Zrušenie podmieneného formátovaniaNa zrušenie podmieneného formátovania môžeš použiť dva spôsoby. Prvým z nich je vymazanie podmieneného formátovania len pre tebou označené bunky alebo zmažeš podmienené formátovanie z celého Excel hárku. Obidva spôsoby spravíš opäť cez záložku Podmienené formátovanie a Vymazať pravidlá. Následne už len zvolíš, či chceš zmazať pravidlo z označených buniek alebo z celého Hárku. Podmienené formátovanie môžeš využiť aj pri práci s kontingenčnými tabuľkami, s grafmi a pod. Práca s Excelom je vďaka podmienenému formátovaniu rýchlejšia a kvalitnejšia. Možností na prácu a filtrovanie vďaka podmienenému formátovaniu je mnoho, stačí sa s touto možnosťou len pohrať. Vyskúšaj to sám aj pre ďalšie možnosti podmieneného formátovania - Väčší a menší ako; Medzi; Text obsahujúci; Vyskytujúci sa dátum a pod.

Nezmeškaj info o nových kurzoch a špeciálnych ponukách