BigData i Machine Learning - kompleksowe rozwiązanie oparte na Apache Spark

Warsztat ekspercki to coś więcej niż szkolenie. To praca w kontekście konkretnych problemów.

Kod: BigDataML-BD-ML-Spark
Kategoria: BigData, streaming i Machine Learning
Forma: 40 wykłady 60% ćwiczenia
Czas trwania: 5 dni
Grupa docelowa: DevOps
developerzy
architekci
analitycy
Logistyka: W siedzibie klienta lub w innym dowolnym miejscu.
Data i dokładny zakres do ustalenia podczas analizy przed-szkoleniowej.

Warsztat zorientowany na rozwiązanie konkretnego problem z użyciem technik Machine Learning z Apache Spark i biblioteki MLLib.

Warsztat został zaprojektowany na narrację odpowiadająca na pytania: jak i dlaczego należy wykonać kolejne kroki projektu - również te nieoczywiste.

Jako przykład będziemy pracować nad problemem gdzie mamy forum dyskusyjne, w którym struktura postu zawiera tekst, autora i godzinę napiszemy przetwarzanie które uczy się struktury postów bazując natechnikach NLP (Natural Language Processing). W analizie tego typu istotne jest przekształcenie wejścia w wektor liczb (użyjemy do tego Word2Vect) Następnie po wytrenowaniu odpowiednich modeli (m.in. Logisticzna Regresja) program będzie w stanie odpowiedzieć dla zadanego tekstu i godziny z pewnym prawdopodobieństwem który z autorów obecnych na forum napisał dany post.  

Program Warsztatu eksperckiego

Program jest ramą w jakiej możemy się poruszać merytorycznie - program dla konkretnego szkolenia dedykowanego ustalamy z grupą na podstawie analizy przed-szkoleniowej.

  1. Dane i Struktura (1 dzień)
    1. Zdefiniowanie struktury danych
      1. Dlaczego warto mieć zdefiniowaną strukturę danych?
      2. Przykład problemów przy braku schemy
      3. Przykład czytania danych ze zdefiniowaną schemą
      4. Zalety: mniej kodu,  szybsze dostarczanie
    2. Kompatybilność danych
      1. Przykład problemów ze zmianą danych
      2. Walidacja kompatybilności
    3. Analiza danych wejściowych przed przygotowaniem modelu
      1. Analiza pod kątem partycjonowania
    4. Definiowanie Struktury dla danych
      1. Tworzenie struktury dla danych
      2. Generowanie klas ze struktury
      3. Zapis danych (rezultatu zadania) używając struktury
  2. Zadania przetwarzania w Apache Spark  (2 dni)
    1. Tworzenie projektu przy użyciu Apache Spark:
      1. Konfiguracja skrypt uruchomieniowego zadania
      2. Jak pisać testowalny kod zadań
    2. Spark Context jako wejście do job
      1. Jak  dostać się do sparkContextu
      2. Jak stworzyć HiveContext (SQlContext) gdy pobieramy dane ze źródła SQL
      3. Zasada jednego SparkContext
    3. Możliwości ładowania danych przez Spark (baza danych, hdfs, avro, text file, csv, json …)
      1. Tworzenia loadera do ustrukturyzowanych danych avro
      2. Tworzenie loadera do nieustrukturyzowanych danych csv
      3. Wczytywanie danych z hdfs
      4. Przykład: wczytanie danych do analizy DNA.
    4. Implementowanie Logiki w paradygmacie Map/Reduce
      1. Wykonywanie kodu przez drivera lub executor?
      2. Operowanie na RDD i pairRDD
      3. Zaimplementowanie logiki analizującej DNA
    5. Testowanie Spark jobów
      1. Jak stworzyć poprawnie test używający SparkContext unikając race conditions pomiędzy testami?
      2. Jak poprawnie mockować źródła danych do testu
    6. Zapisanie rezultatów joba na hdfs
      1. Dobór formatu dla rezultatu
      2. Jak partycjonować rezultat aby uzyskać szybki zapis
  3. Machine Learning (1 dzień)
    1. Zalety analizy i czyszczenia danych wejściowych?:
      1. Tokenizacja dane przy użyciu Spark Tokenizer
      2. Usuwanie Stop-words
    2. Jak przekształcić dane wejściowe na wektor liczb na potrzeby ML operują na wektorze liczb i jak przekształcić wejście w taki wektor?:
      1. Jak wyglądają dane wejściowe do algorytmów Machine Learning?
      2. Jak przekształcić dane tekstowe w wektor liczb? (Bag-of-words, Word2Vect)
      3. Przygotowanie danych wejściowych do przetwarzania przez dalsze algorytmy Machine Learning używając Apache Spark
    3. Kiedy i do jakich problemów nadaje się Logistyczna Regresja:
      1. Wyjaśnienie czym jest logistycznie regresja
      2. Dlaczego Logistyczna Regresja może być użyta do problemu dopasowania?
      3. Implementowanie modelu w Spark używając Logistycznej Regresji
    4. Dlaczego należy weryfikować poprawność modeli i jak?
      1. Cross-walidacja modeli, jak zrobić dobrze?
      2. Mierzenie dopasowania modelu używając miary Area Under ROC
    5. Ewaluacja wytrenowanego modelu na docelowych danych
      1. Uruchomienie całego cyklu przetwarzania z użyciem wytrenowanych modeli
      2. Jak optymalizować napisane joby aby uniknąć potrzeby trenowaniaa modeli za każdym razem?
  4. Scheduling i Monitoring (1 dzień)
    1. Dlaczego warto użyć narzędzia do schedulowania, a zwykły cron to za mało?
      1. Analiza zależnością miedzy przetwarzaniami
      2. Dlaczego należy użyć schedulera który będzie miał zdefiniowaną kolejność uruchamiania kroków po sobie
      3. Jak zbudować Flow przetwarzania który  składa się z kilku zależnych jobów
      4. Dlaczego warto zapewnić interfejs pomiędzy przetwarzaniami, i czemu zdefiniowana schema danych nam w tym pomoże?
    2. Jak radzić sobie z niepowodzeniem przetwarzania?
      1. Jak zaimplementować przetwarzanie które będzie kończyło się sukcesem mimo niepowodzenia w przetwarzaniu
      2. Dlaczego strategia ponowień jest ważna, i jak to pomoże w zapewnieniu poprawności przetwarzania bez potrzeby interwencji operatora
    3. Dlaczego monitorować czas i poprawność przetwarzań
      1. Jak gromadzić i wysyłać metryki z Jobów
      2. Jak automatycznie wychwycić błędy w przetwarzaniu mimo sukcesu joba
      3. Dlaczego warto po każdym przetwarzaniu weryfikować dane?


Pobierz program w formacie PDF

Trenerzy

Poznaj ekspertów, którzy mogą poprowadzić Twój Warsztat.

Materiały związane z warsztatem

Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.

Zapytaj o warsztat

Imię i nazwisko:
Firma:
E-mail:
Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń


Wyrażam zgodę na przetwarzania danych osobowych zgodnie z ustawą o ochronie danych osobowych w związku z wysłaniem zapytania przez formularz kontaktowy.

Podanie danych jest dobrowolne ale niezbędne do przetworzenia zapytania. Zastałem/am poinformowany/na, że przysługuje mi prawo dostępu do swoich danych, możliwości ich poprawienia, żądania zaprzestania ich przetwarzania.

Administratorem danych osobowych jest Bottega IT Minds, ul. Jana Sawy 2, 20-632 Lublin.


Klauzula informacyjna