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