There is a newer version of the record available.

Published August 24, 2024 | Version 0.1.0
Computational notebook Open

Data Science - przegląd zagadnień

  • 1. ROR icon Wroclaw University of Economics and Business

Description

Data Science - przegląd zagadnień

Strona ksiązki w wersji online

Ta książka jest, w zamyśle, pomocą dla osób zainteresowanych tematyką zaawansowanej analizy danych (ang. data science lub, w jednej z polskich interpretacji: danologią), a także słuchaczy uczestniczących w zajęciach w ramach studiów podyplomowych Data Science na Wrocławskim Uniwersytecie Ekonomicznym.

Dostępnych jest bardzo wiele materiałów w języku angielskim dotyczących tej tematyki. Ze względu na ich powszechność - obejmują znacznie szersze spektrum tematów, często tworzą je także renomowane ośrodki naukowe takie jak MIT czy Stanford. Nierzadko jednak, zwłaszcza osoby początkujące, wolą rozpoczynać przygodę i poznawać nowe koncepcje data science w rodzimym języku. Mnogość zagadnień z pograniczna algebry liniowej, statystyki i probabilistyki, programowania, wizualizacji i analizy biznesowej bywa na tyle przytłaczająca, że nie zawsze osoby zainteresowane chcą równocześnie mierzyć się z nauką terminologii w języku angielskim, oraz zakresem merytorycznym.

To opracowanie jest odpowiedzią na przedstawione zapotrzebowanie. Forma interaktywnego Jupyter Booka dostępnego w sieci, pozwoli szybko wprowadzać zmiany i modyfikacje, zwłaszcza w odniesieniu do bibliotek i narzędzi, zmieniających się w błyskawicznym tempie.

Wstęp

Celem niniejszego opracowania jest stworzenie uporządkowanie i zaprezentowanie najważniejszych koncepcji z zakresu uczenia maszynowego i zaawansowanej analizy danych (ang. data science).

Z założenia, materiał ma być przeglądowy i przystępny dla osób, które nie miały wcześniej styczności z tematyką uczenia maszynowego, a także dla tych, którzy chcą uporządkować wiedzę rozproszoną w różnych źródłach.

W opracowaniu skupiono się głównie na praktycznych aspektach uczenia maszynowego, a omawiane zagadnienia poparto przykładami w języku Python. Gdzie to tylko możliwe - podano odsyłacze do materiałów źródłowych/przewodników/dokumentacji/tutoriali, które warto przeczytać, aby lepiej zrozumieć dany aspekt. Oczywiście, pojawią się też sekcje poświęcone np. teorii uczenia maszynowego czy szeregów czasowych - mają one na celu kompleksowe i całościowe przedstawienie danego tematu. Czytelnik lub Czytelniczka odnajdzie tu też szereg formalnych definicji, które starają się usystematyzować pojęcia powszechnie znane i stosowane w praktyce, ale niekoniecznie wyłożone w ustrukturyzowany sposób (np. czym różni się model od algorytmu uczenia maszynowego? Jak zdefiniować ograniczenia poznawcze modelu?).

Podręcznik ma charakter otwarty i płynny, co oznacza, że prace nad nim wciąż trwają, a ich efekty będą systematycznie udostępniane na niniejszej stronie.

Planowany zakres tematyczny

Niniejsze opracowanie jest w fazie rozwoju. W miarę postępów w pracach nad skryptem, będziemy dodawać nowe rozdziały, poprawiać błędy, uzupełniać treści. Docelowo, planowane jest pokrycie następujących tematów:

  1. Data science - czym jest, z czego się składa, jakie są narzędzia, jakie są etapy procesu analizy danych.

  2. Praca z danymi - rozdział poświęcony obróbce i przetwarzaniu danych. W szczególności:

    1. Typy i struktury danych - ustruktyzowane i nieustrukturyzowane, numeryczne, itd.

    2. Typowe operacje na danych - filtrowanie, grupowanie, łączenie, itd.

    3. Analiza poprawności i kompletności danych.

    4. Potoki przetwarzania (ang. pipelines) - automatyzacja procesu przetwarzania danych.

    5. Wizualizacja danych.

  3. Wprowadzenie do uczenia maszynowego - rozdział omawiający niezbędne minimum teorii i notacji potrzebnej do zrozumienia tej dziedziny. W szczególności:

    1. Podstawowe pojęcia - model, cechy, etykiety, funkcja kosztu, itd.

    2. Elementy teorii COLT - elementy teorii uczenia obliczeniowego i generalizacji.

    3. Taksonomia modeli uczenia maszynowego - modele liniowe, drzewiaste, sieci neuronowe, itd.

  4. Projektowanie eksperymentów - w jaki sposób projektować i przeprowadzać eksperymenty związane z uczeniem maszynowym. W szczególności:

    1. Podział danych na zbiory treningowy, walidacyjny i testowy.

    2. Ocena modeli - metryki jakości, walidacja krzyżowa, itd.

    3. Optymalizacja hiperparametrów.

    4. Analiza wyników eksperymentów.

  5. Modele uczenia maszynowego - rozdział poświęcony praktycznemu zastosowaniu modeli uczenia maszynowego. W szczególności:

    1. Regresja - modele liniowe, drzewiaste, sieci neuronowe.

    2. Klasyfikacja - modele liniowe, drzewiaste, sieci neuronowe.

    3. Grupowanie - k-means, DBSCAN, itd.

    4. Klasyfikacja wieloklasowa.

    5. Regresja wielowymiarowa.

    6. Modele sekwencyjne - sieci rekurencyjne, sieci splotowe.

    7. Modele generatywne - sieci GAN, VAE.

  6. Budowanie projektów data science - w jaki sposób konstruować projekty DS. W szczególności:

    1. Metoda CRISP-DM zarządzania projektami.

    2. Szablony projektów DS i rozwiązań technicznych.

  7. Narzędzia i zaplecze techniczne Data Science - czyli o technikach, narzędziach i rozwiązaniach, które warto znać, aby płynnie poruszać się po projektach DS. W szczególności:

    1. Środowiska pracy - Visual Studio Code, Jupyter, Google Colab, Lightning Studio, etc.

    2. Git, jako podstawowe narzędzie kontroli wersji.

    3. Przydatne biblioteki w Pythonie - czyli które trzeba znać obowiązkowo, które ułatwiają pracę, automatyzują zadania, itd.

    4. Docker o Kubernetes - narzędzia do konteneryzacji aplikacji.

    5. Kedro, DVC, MlFlow - narzędzia do zarządzania eksperymentami, danymi i modelami.

    6. MLOPS - szersze spojzrenie na to, jak zarządzać cyklem życia modeli uczenia maszynowego.

Opracowanie całego tego materiału zajmie oczywiście wiele czasu. Rozdziały, podrozdziały i sekcje będą udostępniane w miarę ich pojawiania się.

Files

data_science_przeglad_zagadnien_v0.1.0.zip

Files (3.4 MB)

Name Size Download all
md5:6c0916d69d869370130e1923c30074d9
3.4 MB Preview Download

Additional details

Software

Repository URL
https://github.com/NeuraSys/ds
Programming language
Python , Jupyter Notebook
Development Status
Active