Podstawową rolą specjalisty w obszarze analizy danych (ang. Data Scientist) jest zastosowanie uczenia maszynowego, metod statystycznych i badań eksploracyjnych w celu uzyskania wiedzy i wnioskowania, które są pomocne w podejmowaniu decyzji biznesowych. Na tej funkcji niezbędne są umiejętności z zakresu programowania i wykorzystania narzędzi obliczeniowych. Znany cytat o tym zawodzie brzmi tak: 

„A data scientist is someone who is better at statistics than any software engineer and better at software engineering than any statistician” – „Analityk danych to ktoś, kto jest lepszy w statystyce niż jakikolwiek inżynier oprogramowania i jest lepszy w inżynierii oprogramowania niż jakikolwiek inny statystyk.”

Jeśli zaczynasz swoją przygodę z Data Science lub chcesz poprawić swoje obecne umiejętności, ważnym jest by dobrze zrozumieć narzędzia potrzebne do skutecznego wykonywania tej roli.

W ciągu ostatnich dziesięciu lat popularność Pythona w dziedzinie nauk o danych stopniowo rosła i jest obecnie zdecydowanie najpopularniejszym językiem programowania dla praktyków w tej dziedzinie. W poniższym artykule przedstawię przegląd podstawowych narzędzi wykorzystywanych przez specjalistów zajmujących się Data Science, w dużej mierze skoncentrowanych na narzędziach opartych na Pythonie.

NumPy

NumPy to potężna biblioteka umożliwiająca wykonywanie obliczeń matematycznych i naukowych w języku Python. To narzędzie daje możliwość oddziaływania na dane w ramach tablicy wielowymiarowej. Zapewnia instrumenty do manipulowania tablicami, wykonywania operacji tablicowych, podstawowych statystyk i obliczeń algebry liniowej, takich jak operacje iloczynu wektorowego i skalarnego.

Pandas

Biblioteka Pandas upraszcza manipulowanie i analizę danych w Pythonie. Działa z dwoma podstawowymi strukturami danych. Są to Series – jednowymiarowa tablica z etykietami, oraz DataFrame, która jest dwuwymiarową strukturą danych tabelarycznych. Pakiet Pandas oferuje wiele narzędzi do odczytu danych z różnych źródeł, w tym plików CSV i relacyjnych baz danych. Gdy dane zostaną udostępnione w ramach jednej z powyższych struktur, Pandas oferuje szeroki zakres bardzo prostych funkcji służących do oczyszczania, przekształcania i analizy danych. Należą do nich wbudowane narzędzia do obsługi brakujących danych, prosta funkcja kreślenia i tabele przestawne podobne do programu Excel.


SciPy

SciPy to kolejna naukowa biblioteka obliczeniowa Pythona. Ta biblioteka jest zbudowana do interakcji z tablicami NumPy i zależy od funkcjonalności udostępnionej przez NumPy. Aby korzystać z tego pakietu, musisz mieć zainstalowany i zaimportowany program NumPy, nie ma jednak potrzeby bezpośredniego importowania tej funkcji, ponieważ jest ona automatycznie udostępniana. Scipy opiera się na matematycznej funkcjonalności dostępnej w NumPy. Podczas gdy NumPy zapewnia bardzo szybką obsługę tablic i macierzy, SciPy umożliwia stosowanie zaawansowanych obliczeń matematycznych i naukowych.

Scikit-learn

Scikit-learn to przyjazna dla użytkownika, wszechstronna i potężna biblioteka do uczenia maszynowego. Zawiera funkcje do zastosowania większości technik uczenia maszynowego do danych i ma w ich ramach spójny interfejs. Ta biblioteka dostarcza również narzędzi do oczyszczania danych, ich wstępnego przetwarzania i sprawdzania poprawności modelu. Jedną z jego najbardziej zaawansowanych funkcji jest koncepcja machine learning pipelines. Umożliwiają one dostęp do różnorodnych etapów procesu uczenia maszynowego.

Keras

Keras to API napisany w języku Python, który ma na celu zapewnienie prostego interfejsu do pracy z sieciami neuronowymi. Popularne biblioteki do głębokiego uczenia się, takie jak Tensorflow, są znane z tego, że nie są zbyt przyjazne dla użytkownika. Keras znajduje się na szczycie rankingu platform, które zapewniają prosty i przyjazny sposób interakcji. Keras obsługuje zarówno sieci splotowe, jak i cykliczne, zapewnia wsparcie multi-backend i działa zarówno na CPU, jak i na GPU.


Matplotlib

Matplotlib jest jedną z podstawowych bibliotek do tworzenia wykresów w Pythonie. Wiele innych popularnych bibliotek tego typu zależy od interfejsu API, w tym funkcji kreślenia Pandas i Seaborn. Matplolib jest bardzo bogatą biblioteką i zawiera funkcje do tworzenia szerokiej gamy wykresów i wizualizacji. Dodatkowo pozwala tworzyć animowane i interaktywne wykresy. 

Jupyter Notebooks

Jupyter Notebooks to interaktywny interfejs programowania w języku Python. Zaletą pisania Pythona w środowisku notebooków jest to, że umożliwia łatwe renderowanie wizualizacji, zestawów danych i podsumowań danych bezpośrednio w programie. Jupyter Notebooks są też idealne do udostępniania pracy z zakresu analizy danych, ponieważ można je opatrzyć adnotacjami, umieszczając uwagi markdown bezpośrednio obok kodu czy wizualizacji.


Python IDE

Jupyter Notebooks są przydatne przy pisaniu kodu do analizy danych. Znajdzie się jednak wiele sytuacji, w których konieczne będzie pisanie kodu w modułach wielokrotnego użytku. Dotyczy to w szczególności pisania kodu w celu wprowadzenia modelu uczenia maszynowego do produkcji. W takich przypadkach przydatne będzie IDE (Integrated development environment – zintegrowane środowisko programistyczne), ponieważ zapewnia wiele przydatnych funkcji, takich jak zintegrowane przewodniki w Pythonie, testy jednostkowe i system kontroli wersji.


Github

Github to bardzo popularna platforma dla projektów wykorzystujących system kontroli wersji. Jedną z podstawowych zasad analizy danych jest to, że kod i wyniki analizy powinny móc być odtwarzalne przez ciebie w przyszłości lub przez innych. System kontroli wersji zapewnia mechanizm śledzenia i rejestrowania zmian w pracy online. Ponadto Github umożliwia możliwość bezpiecznej współpracy projektowej. Działa to w ten sposób, że można skopiować projekt, wprowadzać zmiany lokalnie i następnie przesyłać je do przeglądu zanim zostaną zintegrowane z projektem.

W tym artykule przedstawiono krótkie wprowadzenie do podstawowego zestawu narzędzi do pracy z danymi. Zachęcamy do śledzenia artykułów Autorki, by zapoznać się z kolejnymi tajnikami pracy analityka danych.

Autorka:

Rebecca Vickery – Specjalistka w zakresie analizy danych, pisarka, mówczyni, założycielka DatAcademy. | https://twitter.com/vickdata | https://www.linkedin.com/in/rebecca-vickery-20b94133/

Tekst oryginalny: https://towardsdatascience.com