R czy Python? Jaki język wybrać

07 Jan 2018 / admin

Data science zdominowały R i Python. Który wybrać?


Początkowo nie ma to wielkiego znaczenia (musimy poznać metody, a te w zasadzie nie zależą od implementacji). Problem ten pojawia się gdy chcemy nabrać praktyki, wykonać jakieś ćwiczenia na danych. Poniżej fajne strony w tej kwestii, odniosę się do nich bliżej wkrótce.
R czy Python [datacamp.com]
R czy Python [webhose.io]

W krótkich żołnierskich słowach -- główna różnica pomiędzy R a Py to punkt wyjścia twórców.

  • R jest bardziej pakietem statystycznym (najbardziej przypomina Matlab, ale jego przeznaczeniem jest wykonywanie obliczeń - jak w Mathematica, Statistica, Stata, SPSS czy Gretl). Dlatego R domyślnie wyświetla wyniki na ekranie, podstawowym rodzajem danych jest wektor, domyślnie posiada też pakiet DataFrame (dla niewtajemniczonych: daleki odpowienidk arkusza w Excelu).
  • Python jest pomyślany jako język programowania, wobec czego niekoniecznie musi być używany do obliczeń (można w nim napisać np. grę komputerową). Oczywiście w ramach pakietu R możemy używać skryptów i funkcji, napisanych w języku R.
  • Dzięki dodatkowym bibliotekom, różnice pomiędzy R a Python zmniejszają się. Np. używając biblioteki pandas możemy obrabiać dane podobnie jak w R. Istnieje sporo bliżniaczych (R / Py) bibliotek, np. Keras, NLTK, Selenium, itp.
  • Pomiędzy tymi pakietami jest wiele podobieństw. Oba są darmowe (w przeciwieństwie do Matlab), oba mają bogaty zasób bibliotek do data-science. Skrypty w R są interpretowane, podobnie jak programy w Py.

Jeśli bliższe Ci jest programowanie niż algebra czy statystyka - zapewnie będziesz zadowolony z Python (ale z drugiej strony w data-science oba komponenty są nieuniknione: programowanie oraz praca na wzorach i danych).
Jeśli używałeś Matlaba - łatwiej zaczniesz z R (zob. słownik R-Matlab).
Jeśli naturalnym sposobem zapisu jest wektor/macierz i większość operacji będzie wykonywana "wektorowo" - polubisz R.
Jeśli lubisz oglądać dane i na bieżąco wyniki na ekranie - raczej R.
Jeśli Twój program będzie działał na serwerze albo na przenośmym środowisku na USB - znacznie łatwiej to osiągniesz używając Python.

Moim naturalnym punktem wyjścia jest oczywiście praca na danych. Dzięki doświadczeniu w Matlab, kiedy potrzebowałem przesiąść się na R - zajęło mi to kilka dni metodą prób i błędów. Rozpoczęscie obliczeń w Python trwało trochę dłużej, mimo że znałem podstawy programowania. Mimo wszystko -- sam wolę Py i nowe projekty staram się robić w tym języku. Nie oznacza to, że tego co robię nie można zrobić w R! Dla obecnych zastosowań nie wielkich różnic, a osobście podoba mi się zwięzłość Py. Wydaje mi się, że środowisko użytkowników Py zapewnia trochę więcej wsparcia np. na stackoverflow.com.

Oczywiście w pracy zespołowej, nie zawsze mamy wybór. Przykładowo -- trafiam do zespołu, który ma rozpoczęty projekt albo mój szef ma silną preferencję któregoś z podejść. Poza tym polityka bezpieczeństwa firmy może nie pozwalać na instalację R czy Python. Na początek zacznij od tego podejścia, które wolisz, a prędzej czy później dojdziesz do tego, że warto poznać choćby podstawy innych podejść (być może nie tylko z grona R/Py).

Data science - od czego zacząć

05 Jan 2014 / admin

Początki są trudne. Od czego zacząć? Internet jest pełny materiałów o big-data, data science, ale nadmiar materiałów nie ułatwia wyboru.
Pewnie już chciałbyś usiąć do komputera i napisać jakiś program. Przyjdzie na to czas, kiedy dowiesz się jaki język wybrać i poznasz przykładowe zagadnienia z zakresu data science.

Według jednej z definiji data scientist to ktoś kto jest lepszym statystykiem (ekonometrykiem?) niż jakikolwiek "zwykły" programista i lepszym programistą niż jakokolwiek "zwykły" statystyki. Pomińmy błąd logiczny w tej definicji (Wikipedia dla ciekawych jaki to błąd), skoncentrujmy się na tym że data-science stoi na dwu nogach:

  • programowanie (a także bazy danych)
  • statystyka (a także matematyka, ekonometria)
Zacznij od uzupełnienia wiedzy z tych zakresów. Prawo malejącej produktywności krańcowej podpowiada, żeby zacząć od tego z czego masz większe braki (w tym zakresie osiągniesz szybszy przyrost wiedzy).


Przeczytaj jakąś "nietechniczną" książkę, która da Ci obraz dziedziny data-science. Na przykład Podstawy nauki o danych. Bądźmy szczerzy: to przedszkole data-science nie nauczysz się z takich książek konkretnych umiejętności. Ale warto -- zobaczysz przykłady, podstawowe narzędzia i na tej podstawie wybierzesz kursy online (bądź stacjonarne szkolenia) i lektury zaawansowanych książek.




początek ... poprzedni 1 2