Analiza danych z wykorzystaniem R – kurs zaawansowany

Najbliższe terminy tego szkolenia
Standardy JSystems
- Wszyscy nasi trenerzy muszą być praktykami i osiągać średnią z ankiet minimum 4.75 na 5. Nie ma wśród nas trenerów-teoretyków. Każdy trener JSystems ma bogate doświadczenie komercyjne w zakresie tematów z których prowadzi szkolenia.
- Wszystkie szkolenia mają format warszatowy. Każde zagadnienie teoretyczne jest poparte rzędem warsztatów w ściśle określonym formacie.
- Terminy gwarantowane na 100%. Jeśli jakiś termin jest oznaczony jako gwarantowany, oznacza to że odbędzie się nawet jeśli część grupy wycofa się z udziału. Ryzyko ponosimy my jako organizator.
- Do każdego szkolenia które wymaga jakiegokolwiek oprogramowania dostarczamy skonfigurowane, gotowe hosty w chmurze. Dzięki temu uczestnik nie musi nic instalować na swoim komputerze (i bić się z blokadami korporacyjnymi). Połączenie następuje przez zdalny pulpit lub SSH - w zależności od szkolenia.
Program szkolenia
- Wprowadzenie
- różnice pomiędzy klasycznym podejściem do pracy z danymi (base), a wykorzystywaniem pakietów specjalistycznych (tidyverse, dplyr), porównanie wad i zalet każdej z obranych metod
- „domowa” praca nad skryptami, a pisanie ich pod specjalistyczne przypadki obliczeniowe – odpowiednia etyka pisania skryptów, skupienie się na kontroli przebiegu rozwiązań i ich debugowania
- własne pakiety w R – dlaczego są ważne w środowisku data science, potencjalne problemy, które można napotkać w trakcie ich tworzenia, a także dobre praktyki przy ich tworzeniu
- współpraca zespołowa – wyjaśnienie standardów wspólnej pracy nad problemami analitycznymi, dzielenie się wynikami własnej pracy ze światem, szukanie pomocy od bardziej doświadczonych badaczy
- profesjonalne zarządzanie pakietami – dlaczego automatyczne testy i deployment pakietów jest ważny, w jaki sposób manualnie tworzone repozytoria mogą ułatwiać pracę data scientistów na co dzień
- praca na środowisku obliczeniowym – rozróżnienie od pracy na komputerze lokalnym, dobre praktyki zarządzania zasobami na serwerze i przydatnych instrukcji w terminalu na codzień
- dobre książki i kursy do nauki R i Data Science
- Efektywna praca z danymi
- pakiet dplyr – przetwarzanie zbiorów
- podstawy pakietu (wybór zmiennych, filtrowanie, sortowanie): funkcje select(), filter(), arrange(), mutate(), rename()
- funkcje przydatne w codziennej pracy: użycie pipe’ów (%>%), starts_with(), ends_with(), top_n(), distinct()
- grupowanie i podsumowywanie danych: group_by(), summarize(), ungroup()
- łączenie zbiorów: left_join(), inner_join(), right_join()
- zaawansowane aspekty pracy z pakietem i dobre praktyki:
- wektoryzacja funkcji i opieranie ich na zmiennych
- warunkowe tworzenie zmiennych (mutate if_else)
- ograniczenia funkcji z bazwoej wersji R (base) w dplyr
- kiedy lepiej używać base zamiast dplyr
- kiedy lepiej używać dplyr zamiast base
- pakiety tidyr i reshape2 – modelowanie zbiorów
- rozdzielanie zbioru na podstawie wartości: tidyr::separate(), tidyr::spread()
- łączenie zbioru na podstawie zmiennej: tidyr::gather()
- zmiana wymiarów zbioru na podstawie jego kluczowych cech: reshape2::melt(), reshape2::dcast()
- efektywne łączenie funkcji z pakietów dplyr, tidyr i reshape2
- pakiet dplyr – przetwarzanie zbiorów
- Optymalizacja pracy ze skryptami
- szybsze pętle for – instrukcje z rodziny apply, użycie pakietu purr (map) i broom
- wielowątkowe obliczenia – biblioteka parallel
- debugowanie pracy pętli: tryCatch(), stop(), warning(), print(), cat()
- inne metody optymalizacji obliczeniowej:
- wykonywanie tylko niezbędnych obliczeń
- redukcja powtórzeń
- optymalizacja sprzętowa operacji
- odpowiednie wykorzystywanie zasobów serwerowych
- Tworzenie własnych pakietów w R
- pakiet devtools – tworzenie pakietów
- filozofia, źródła informacji, książka Hadleya Wickhama
- podstawowa struktura pakietów: pliki DESCRIPTION, NEWS, README, R
- funkcje przydatne w procesie tworzenia pakietów: devtools::create(), devtools::build(), devtools::check()
- funkcje przydatne w przypadku instalacji pakietów z różnych źródeł: load_all(), install_local(), install_github()
- pakiety roxygen2 i bookdown – dokumentacja pakietów
- logika struktury lokalnej dokumentacji pakietów: folder man, pozczególne zapisy
- tworzenie dokumentacji lokalnej za pomocą funckji roxygenize(), wywoływanie, edycja
- tworzenie dokumentacji online za pomocą pakietu bookdown: folder docs, wygląd, sposób działania
- pakiety testthat i lintr – testowanie pakietów
- tworzenie testów jednostkowych – pakiet testthat i folder tests
- tworzenie testów struktury kodu – pakiet lintr
- pakiet devtools – tworzenie pakietów
- Współpraca zespołowa – GitLab / GitHub
- filozofia świata open-source, logika i struktura repozytoriów
- podstawowe komendy przydatne w pracy z gitem: init, push, pull, status, commit
- dzielenie projektu na części i praca w zespole: branch, merge requests, fetch, stash, pop
- Profesjonalna praca nad projektami
- struktura repozytoriów typu CRAN, tworzenie repozytorium lokalnego i serwerowego
- proces git flow, code review, zgłaszania komentarzy do kodu, nanoszenia poprawek, tagowania wersji pakietów
- automatyczne testowanie i deployment kodu
- procesy GitLab CI/CD
- tworzenie pliku gitlab-ci.yml
- dockeryzowanie środowiska
- dostarczanie gotowego pakietu do repozytorium
- Codzienna praca na środowisku serwerowym (Rstudio Server) od strony serwera obliczeniowego
- zapoznanie z praktycznymi narzędziami: terminator, tmux, kitty
- podstawowe instrukcje języka poleceń: pwd, cp, mv, ls, ps aux
- instrukcje przydatne w codziennej pracy: screen, scp, kill
- narzędzia wspomagające pracę: htop, ncdu, mc, stat, nano, vim, cron
- Podsumowanie
- zapoznanie z praktycznymi narzędziami: terminator, tmux, kitty
- podstawowe instrukcje języka poleceń: pwd, cp, mv, ls, ps aux
- instrukcje przydatne w codziennej pracy: screen, scp, kill
- narzędzia wspomagające pracę: htop, ncdu, mc, stat, nano, vim, cron
Opis szkolenia
Szkolenie odbywa się na żywo z udziałem trenera. Nie jest to forma kursu video!-
Po ukończeniu tego szkolenia uczestnik będzie potrafił:
- korzystać ze służących do przekształcania danych pakietów z rodziny tidyverse: dplyr, tidyr i reshape2
- optymalizować organizację własnej pracy i tempo przetwarzania danych
- tworzyć własne pakiety w R
- korzystać z repozytorium GitHub
- optymalizować prace programistyczną w zespole
- tworzyć własne repozytoria kody
- zarządzać współpracą z serwerem
- sprawnie programować w środowisku serwerowym
Warunki uczestnictwa
Szkolenie skierowane jest do osób znających język R na poziomie średniozaawansowanym, poszukujących praktycznej wiedzy dotyczącej efektywnego przetwarzania danych w tym języku. Dobrym wstępem do szkolenia jest kurs „Analiza danych z wykorzystaniem R – kurs średniozaawansowany”, oferowany również w module szkoleń „Data Science z wykorzystaniem R”. W trakcie szkolenia, uczestnicy nie tylko poznają sposoby efektywnej pracy z danymi za pomocą branżowych pakietów, ale także posiądą wiedzę z dziedziny optymalizacji wykonywanych operacji i ich szczegółowego działania od strony serwera obliczeniowego. Co więcej, na szkoleniu uczestnicy dowiedzą się także, w jaki sposób tworzyć pakiety w języku R i jak dzielić się nimi ze szeroko pojętym środowiskiem data science za pomocą repozytoriów kodu GitHub/GitLab.
Gdy na jakiś termin zgłosi się minimalna liczba osób, termin oznaczamy jako gwarantowany.
Jeśli jakiś termin oznaczony jest jako gwarantowany to oznacza to, że na 100% się odbędzie we wskazanym czasie i miejscu.
Nawet gdyby część takiej grupy zrezygnowała lub przeniosła się na inny termin, raz ustalony termin gwarantowany takim pozostaje.
Ewentualne ryzyko ponosimy my jako organizator.
Przejdź do terminów tego szkolenia
