Uczenie maszynowe w języku Python - warsztat profesjonalisty
Czas trwania szkolenia:3 dni (24h)
Kod kursu:ML/MID/PY
Poziom zaawansowania:
O szkoleniu Uczenie maszynowe w języku Python - warsztat profesjonalisty
W cenie otrzymasz:
- Materiały szkoleniowe
- Certyfikat ukończenia szkolenia
- W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Dla kogo?
- osób, które uczyły się uczenia maszynowego samodzielnie i chcą uporządkować i pogłebić wiedzę, poprzez uczestnictwo w praktycznych warsztatach z ekspertem
- osób, które znają teorię uczenia maszynowego, ale chcą zobaczyć jak w praktyce wygląda realizacja projektów wykorzystujących uczenia maszynowe
- wszystkich osób, które mają jakąś wiedzę z uczenia maszynowego i chcą wejść na wyższy poziom kompetencji w tym obszarze
- osób pracujących z uczeniem maszynowym z wykorzystaniem innych języków niż Python, ale chcących przekwalifikować się na pracę z Pythonem
Wymagania
- Szkolenie "Uczenie maszynowe w języku Python - warsztat profesjonalisty"" wymaga podstawowej umiejętności programowania w języku Python oraz podstawowej wiedzy z uczenia maszynowego (modele regresji liniowej oraz logstycznej, drzewo decyzyjne, rozumienie procesu uczenia i testowania modeli)
Zalety
- Szkolenie "Uczenie maszynowe w języku Python - warsztat profesjonalisty" ma charakter projektowy - polega na wytworzeniu od A do Z profesjonalnego rozwiązania konkretnego problemu biznesowego z wykorzystaniem uczenia maszynowego
- Solidne omówienie aspektów inżynierskich, pozwalające na profesjonalną implementację rozwiązań z wykorzystaniem języka Python
- Szkolenie jest prowadzone przez osoby na co dzień stosujące uczenie maszynowego z użyciem języka Python i mającymi praktyczne doświadczenie w tej dziedzinie
- Elastyczność programu - rozłożenie akcentów będzie (w miarę możliwości) dostosowane do preferencji grupy
Cele szkolenia
- Rozwinięcie praktycznych kompetencji poprzez realizację projektu od A do Z - przejście pełnego procesu wykorzysta uczenia maszynowego w praktyce
- Nauka profesjonalnej implementacji systemu predykycjnego
- Poznanie ważnych funkcjonalności do pracy z algorytmami uczenia maszynowego w języku Python
- Poznanie zaawansowanych algorytmów i użytecznych technik uczenia maszynowego i zobaczenie jak efektywnie używać ich w praktyce
Program
Etap I. Definicja celu biznesowego
- Profesjonalna ewaluacja klasyfikatorów: precyzja, czułość, miara F1, krzywa ROC i wskaźnik AUC
- Definiowanie i implementacja autorskich metryk
- Dobór metryki do celów biznesowych
Etap II. Przygotowywanie danych do modelowania (ang. *feature engineering*)
- Kodowanie zmiennych kategorycznych
- Obsługa braków danych
- Transformacje zmiennych numerycznych
Etap III. Profesjonalna implementacja procesów predykcyjnych z wykorzystaniem `scikit-learn`
- Kluczowe konstrukty biblioteki `scikit-learn`: transformatory i estymatory
- Potoki uczenia maszynowego (ang. *machine learning pipelines*) - zasada działania
- Implementacja podstawowych potoków w `scikit-learn`
- Implementacja złożonych/rozgałęzionych procesów predykcyjnych
- Obiektowa implementacja komponentów do procesów predykcyjnych
- Optymalizacja konfiguracji potoków
- Eksportowania gotowego do użycia procesu predykcyjnego
Etap IV. Wykorzystanie zaawansowanych algorytmów 1: XGBoost
- Czym jest boosting
- Mechanizm działania i uczenia algorytmu XGBoost
- Praktyczna optymalizacja hiperparametrów algorytmu
Etap V. Wykorzystanie zaawansowanych algorytmów 2: sieci neuronowe
- Mechanizm działania neuronu, funkcje aktywacji
- Perceptron wielowarstwowy
- Mechanizm uczenia sieci neuronowej
- Konfiguracja i optymalizacja procesu uczenia
- Wykorzystywanie sieci neuronowych jako algorytmy predykcyjne
Etap VI. Poprawa rozwiązania poprzez uwzględnienie niezbalansowania klas
- Problem niezbalansowanych klas - opis zjawiska i praktyczne konsekwencje
- Uwzględnienie problemu w procesie uczenia modeli - ważenie funkcji celu
- Techniki repróbkowania obserwacji poprawiające jakość modeli w sytuacji niezbalansowanych klas
- Augmentacja danych (sztuczne powiększanie zbioru uczącego)
Etap VII. Analiza i interpretacja rozwiązania, udoskonalanie rozwiązania poprzez selekcję cech
- Ocena ważności cech na podstawie algorytmów liniowych i drzewiastych
- Ocena ważności cech dla modeli typu black-box
- Selekcja na podstawie ważności cech, selekcja współbieżna z uczeniem, selekcja krokowa
- Filtrowanie zmiennych