7. Python in Science and Engineering

Warning

Przed szkoleniem proszę o instalację i konfigurację środowiska zgodnie z Installing Python

7.1. Description

Temat Machine Learning i Data Science staje się coraz bardziej popularny a Python stał się de facto standardem w tych dziedzinach. Zapraszam na szkolenie wprowadzające do technik analizy danych, dostosowywania modelu matematycznego oraz wykorzystania narzędzi tj. scikit-learn, numpy, pandas i jupyter. Uczestnik również zapozna się z różnymi algorytmami wykorzystywanymi w ML i DS łącznie z tematami konstrukcji sieci neuronowych.

Tip

If you're interested in this training course, please email me at matt@astrotech.io

7.2. Agenda

7.2.1. Dzień 1

  • Zagadnienia podstawowe

  • Złożone typy danych i kolekcje

  • Funkcje matematyczne

  • Debugging, unit tests, doctests

  • Programowanie obiektowe

  • Biblioteka standardowa

  • Serializacja i deserializacja danych CSV

  • Modularyzacja i virtualenv

  • Operacje na datach i czasie

  • Generatory i list comprehensions

  • Optymalizacja kodu i złożoność obliczeniowa struktur danych

7.2.2. Dzień 2

  • Jupyter (Enhanced Interactive Console)

  • NumPy (Base N-dimensional array package)

  • Pandas (Data structures & analysis)

  • SciPy (scientific computing)

  • Matplotlib (Comprehensive 2D Plotting)

  • Scikit-learn (Machine Learning Library)

7.3. Survey before workshop

  1. Znajomość zagadnień związanych z statystyką matematyczną:

    • nie znam

    • miałem / miałam zajęcia na studiach

    • wykorzystuję w pracy

    • pracuję z zagadnieniami na co dzień

  2. Machine Learning:

    • nie znam

    • miałem / miałam zajęcia na studiach

    • wykorzystuję w pracy

    • pracuję z zagadnieniami na co dzień

  3. Znajomość algorytmów ML (skala: nie znam / słyszałem(-am) / korzystałem(-am) / wykorzystuję na co dzień):

    • Decision Tree

    • k Nearest Neighbors

    • Bayes

    • Linear Regression

    • Logistic Regression

    • Support Vector Machines

    • Clustering

    • Principal Component Analysis (PCA)

    • Neural Network

    • Convolutional Neural Network

  4. Praca z dużymi zbiorami danych:

    • nie pracuję

    • pracuję z niewielkimi bazami (do miliona rekordów)

    • pracuję ze zbiorami danych liczonymi w milionach rekordów

    • pracuję ze zbiorami danych liczonymi w miliardach rekordów

    • pracuję ze jeszcze większymi zbiorami danych

  5. Znajomość języka Python:

    • nie znam tego języka

    • tworzę pomniejsze skrypty lub programy

    • znam język i jego ekosystemem

    • umiem wykorzystywać gotowe biblioteki oraz tworzyć własne, wiem jak tworzyć bazy danych i znam zasady programowania obiektowego

    • jestem zaawansowanym programistą

  6. Znajomość języka R:

    • nie znam tego języka

    • tworzę pomniejsze skrypty lub programy

    • znam język i jego ekosystemem

    • umiem wykorzystywać gotowe biblioteki oraz tworzyć własne, wiem jak tworzyć bazy danych i znam zasady programowania obiektowego

    • jestem zaawansowanym programistą

  7. Znajomość programów Statistica, SPSS, SAS lub alternatyw:

    • nie znam tych programów

    • umiem stworzyć bazę danych i wykreślić podstawowe statystki opisowe dla wielu zmiennych

    • wiem jak stworzyć wykresy ramka-wąsy (ang. box-plot), dostosować zakres błędów i przypadków odstających

    • umiem korzystać z programu na poziomie średnio-zaawansowanym

    • znam opcje zaawansowane, umiem tworzyć sieci neuronowe i wykorzystywać inne algorytmy

7.4. Certificate

Szkolenie obejmowało 40 godzin wykładów oraz warsztatów. Zagadnienia poruszone na szkoleniu:

  • tworzenie aplikacji w języku Python,

  • tworzenie i korzystanie ze struktur danych,

  • tworzenie klas i obiektów,

  • modularyzacja oprogramowania,

  • użycie wywołań biblioteki standardowej,

  • tworzenie testów do pisanych funkcji,

  • korzystanie z funkcji refaktoringu w środowisku IDE,

  • dobre praktyki i standardy kodowania,

  • biblioteki do zastosowań naukowych i inżynieryjnych: scipy i inne

  • biblioteki do zastosowań numerycznych: numpy, pandas

  • biblioteki do wizualizacji danych: plotly, matplotlib, jupyter, superset

  • przegląd algorytmów ML z i bez nadzoru

  • biblioteki do uczenia maszynowego: scikit-learn

  • biblioteki do modelowania sieci neuronowych: keras, tensor-flow oraz pytorch