Często jestem pytany, jak rozpocząć zdobywanie umiejętności z zakresu Data Science. Czy masz zanurzyć się w stosie książek, zapisać się na kursy online, podjąć studia podyplomowe, uczyć się w języku angielskim czy w swoim rodzimym języku, a może zainwestować w płatne warsztaty? A może rozważasz samodzielną naukę z całego mnóstwa darmowych materiałów dostępnych online .
Teraz istnieje jeszcze więcej źródeł i możliwości nauki niż kiedyś, gdy sam zaczynałem się tego uczyć. Ale nawet wtedy miałem trudności z podjęciem właściwej decyzji i znalezieniem optymalnej ścieżki. Dlatego zobaczmy najpierw na przykładzie mojej historii, jakie można mieć trudności ze znalezieniem własnej optymalnej ścieżki nauki.
Moja ścieżka
Spoglądając wstecz, pamiętam, że nie byłem pewien, od czego zacząć moją przygodę z Data Science. Podczas moich studiów magisterskich z socjologii, uczestniczyłem w kilku podstawowych kursach związanych z oprogramowaniem SPSS, ale dopiero po uzyskaniu doktoratu zacząłem zagłębiać się bardziej w tej dziedzinie. Podjąłem studia podyplomowe Metody Statystyczne w Biznesie, które obejmowały warsztaty komputerowe z użyciem oprogramowania SAS. To doświadczenie pomogło mi eksplorować różne obszary statystyki i jej zastosowań w różnych dziedzinach.
Jednak zauważyłem, że jestem silnie uzależniony od komercyjnego oprogramowania, które wymaga drogich licencji. Był to znaczny problem dla kogoś takiego jak ja, kto sam finansował swoją naukę. Na szczęście nasi wykładowcy zasugerowali nam także zapoznanie się z R — językiem programowania statystycznego, który nie tylko miał już wtedy ogromne możliwości, ale także był dostępny za darmo. Choć miałem już wstępne doświadczenie z wieloma metodami statystycznymi, zdałem sobie sprawę, że potrzebuję głębszego ich zrozumienia i lepszego narzędzia.
Rozpocząłem moją przygodę z nauką R, kończąc mój pierwszy kurs online na platformie Coursera w 2012 roku. Kurs nazywał się “Statistics One”, a R był w nim używany przez Andrew Conwaya, starszego wykładowcę na Uniwersytecie Princeton. W ciągu następnych kilku lat ukończyłem ponad sto kursów online (tak, to sporo!), skupiając się głównie na tematach związanych z Data Science i szeroko rozumianą informatyką. Oto krótka lista wybranych tematów, w które się zagłębiałem:- Statystyczne wnioskowanie
Wnioskowanie statystyczne
Bazy danych
Sieci społeczne
Gamifikacja
Uczenie maszynowe
Duże zbiory danych (Big Data)
Systemy rekomendacyjne
Metody badawcze oraz statystyka w naukach społecznych
Ewaluacja programów społecznych
Pomiar efektów przyczyno-skutkowych
Analiza procesów
Programowanie
Interpretacja badań klinicznych
Analiza biznesowa
Smart Cities (Inteligentne Miasta)
Internet rzeczy (IoT)
Technologie Internetu semantycznego
Zarządzanie produktami oprogramowania
Etyka w dziedzinie Data Science
Data Mining
Dane powiązane (Linked Data)
Modelowanie oparte na agentach (Agent-Based Modeling)
Wnioskowanie Bayesowskie
Doświadczenia użytkownika (User Experience)
Wizualizacja danych
Modelowanie równań strukturalnych
Prognozowanie
Oczywiście, nie od razu wiedziałem, że R stanie się moim głównym językiem programowania. Na początku eksperymentowałem z różnymi językami i technologiami, takimi jak R, Python, Java (szczególnie na Androida), Tableau, HTML, CSS, JavaScript, AngularJS i NodeJS. Nawet mam na sumieniu kilka projektów przy użyciu Excela i Visual Basic. Jednym z pierwszych kursów MOOC, na który się zapisałem, był bardzo popularny kurs Machine Learning prowadzony przez Andrew Ng — Dyrektora Stanford Artificial Intelligence Lab i Profesora na Uniwersytecie Stanforda. W tym kursie używaliśmy Matlaba lub jego darmowej alternatywy — Octave. Oczywiście istnieje wiele języków programowania, do których nie miałem okazji nigdy wrócić. Jednak ta faza eksperymentowania była niezbędna i oczekiwana. Pozwoliła mi ona eksplorować różne ścieżki, aż zdałem sobie sprawę z mojego szczególnego zainteresowania językiem R.
Na początku mojej nauki z R, znalazłem kilka książek, które okazały się wyjątkowo pomocne. Moje wykształcenie bazujące na oprogramowaniu SPSS i SAS pozwoliło mi wykorzystać książkę R for SAS and SPSS Users autorstwa Roberta A. Muenchena. Ta książka była dla mnie trampoliną do przemiany w użytkownika R’a, dostarczając łatwiej przyswajalnej wiedzy.
Ponadto, jako osoba nie anglojęzyczna, doceniłem wartość materiałów w moim ojczystym polskim języku. Przykładem takiego źródła była pierwsza książka o R napisana w całości po polsku - Przewodnik po pakiecie R autorstwa Przemysława Biecka. Po raz pierwszy opublikowana w 2008 roku, ta książka wyróżniła się jako pierwsza polska publikacja poświęcona wyłącznie nauczaniu języka programowania R.
Rozumiem wyzwania, z jakimi polskojęzyczni użytkownicy mogą się spotkać, używając materiałów do nauki napisanych w języku angielskim. Dlatego, w zależności od Twojego komfortu i biegłości w języku angielskim, możesz chcieć zacząć naukę od materiałów w języku polskim. Jednak gorąco polecam przejście na treści w języku angielskim tak szybko, jak to tylko możliwe. Dzięki temu zwiększysz swoje możliwości nauki i będziesz mogła być na bieżąco w tym co dzieje się w Data Science. Znacząco skorzystasz z ogromnego zasobu materiałów dostępnych po angielsku.
Obecnie pracuję zawodowo na co dzień z językiem R w międzynarodowym środowisku. Nie byłoby to możliwe bez znajomości języka angielskiego. Niektórzy mogliby nawet powiedzieć:
Spośród wszystkich języków programowania, to angielski jest najważniejszy, ponieważ dzięki niemu można nauczyć się wszystkich innych.
Czy mój sposób nauki był najlepszy z możliwych? Niekoniecznie. Spędziłem wiele czasu na badaniu różnych aspektów i potencjalnych ścieżek. Wybór, które umiejętności, technologie lub języki programowania przyniosą największy zwrot z inwestycji, zawsze jest trudnym zadaniem. Jednak retrospektywnie jasne jest, że niektóre obszary były naprawdę bardziej wartościowe i istotne do zrozumienia niż inne. Chodzi tu niekoniecznie o konkretne narzędzia czy języki programowania, ale o zrozumienie podstawowych koncepcji, rozumienie bardziej złożonych problemów czy rozpoznawanie wzorców.
Możliwości, rynek pracy i technologie ciągle się zmieniają. Proszę więc traktuj moją drogę jako źródło inspiracji, a nie formułę sukcesu w obszarze Data Science. Ścieżka nauki każdego będzie i prawdopodobnie powinna być nieco inna. Jednak mogę Ci zagwarantować, że przejdziesz najpierw fazę eksploracji, a potem specjalizacji, i po pewnym czasie cykl eksploracji i specjalizacji prawdopodobnie rozpocznie się od nowa. Kluczowe jest tutaj zrozumienie najbardziej fundamentalnych koncepcji, które można przenosić między narzędziami, technologiami, językami programowania i dziedzinami wiedzy.
Dlaczego ludzie często mają trudności z rozpoczęciem nauki Data Science?
W dzisiejszych czasach, nauka umiejętności Data Science na własną rękę może wydawać się trudniejsza niż kiedykolwiek wcześniej. Dlaczego tak jest? Przede wszystkim ze względu na nadmiar dostępnych zasobów, zarówno darmowych, jak i płatnych. Obejmuje to mnóstwo kursów online, książek, e-booków, nie wspominając o licznych wpisach na blogach i filmach na YouTube. W rezultacie każdy, kto chce podjąć pierwszy niepewny krok w kierunku Data Science, stoi przed niemal paraliżującą ilością opcji.
Dodatkowe wyzwania to bariery językowe, szczególnie istotne dla osób, których językiem ojczystym nie jest angielski. Ponadto, pojawia się lawina nowego specjalistycznego słownictwa, które może wydawać się zupełnie nowym dialektem dla początkujących, niezależnie od tego jakim językiem się posługują.
Wśród tej złożoności pojawia się pytanie o wybór pierwszego odpowiedniego języka programowania do nauki Data Science. Czy powinno się wybrać R’a, Python’a, czy może Julię, albo zupełnie inny język? Ponadto, jeśli do tej pory pracowałaś tylko na platformach takich jak Excel, SAS czy SPSS, myśl o nauce pełnoprawnego języka programowania może wydawać się przerażająca. Szczególnie dla tych, którzy wcześniej pisali co najwyżej jakieś makra, takie przejście może być przytłaczające.
Dylematy nie kończą się tutaj. Na przykład, czy warto uczyć się przeprowadzać analizy na platformie opartej na chmurze, czy też lepiej nauczyć się wykonywać je lokalnie na swoim osobistym komputerze? Pierwsza opcja zapewnia niezależność od lokalnej infrastruktury IT, ale może wiązać się z pewnymi kosztami. Z drugiej strony lokalne rozwiązanie wymaga jedynie osobistego laptopa, który przypuszczalnie jest już dostępny, ale taka opcja wymaga zrozumienia, jak skonfigurować środowisko, zainstalować i skonfigurować całe niezbędne oprogramowanie.
Sam borykałem się z tymi problemami, więc mam możliwość podzielenia się niektórymi własnymi spostrzeżeniami i doświadczeniami, które pomogły mi się dalej rozwijać.
Jakie są opcje i jakie są ich zalety i wady?
Czy powinienem uczyć się z filmów na YouTube’ie?
Na YouTube’ie dostępnych jest mnóstwo filmowych tutoriali obejmujących szeroką gamę tematów z zakresu Data Science. Te źródła są łatwo dostępne i darmowe, co brzmi jak marzenie każdego początkującego ucznia. Ale jest haczyk — może być dość trudno znaleźć te odpowiednie tutoriale. Problemem nie jest brak, ale przytłaczająca ilość treści!
Bez wiedzy o autorach tych filmów, ich domeny i doświadczenia w nauczaniu, łatwo można stracić czas na oglądanie niskiej jakości lub trudnych do zrozumienia materiałów. Dla nowicjusza, nie zawsze jest oczywiste, na co trzeba zwracać uwagę. Z mojego osobistego doświadczenia wynika, że próba skomponowania spójnego procesu nauki z losowo wybranych filmików może przypominać bieganie bez celu tam i z powrotem.
Dlatego nie polecałbym rozpoczynania swojej przygody z Data Science, od oglądania losowych filmów bez ustalonej kolejności. Zaufaj mi w tej kwestii — posiadanie odpowiedniej struktury i ścieżki nauki przynosi o wiele większe korzyści.
Czy powinienem uczyć się z kursów online, w tym MOOCs?
Istnieje mnóstwo kursów online dostępnych na różnych platformach, począwszy od krótkich, szybkich kursów po intensywne kilkutygodniowe szkolenia. Wiele z nich jest płatnych, ale nie zawsze warto się rzucać na każdy płatny kurs, który przyciąga Twoje zainteresowanie. Sam ukończyłem wiele dłuższych kursów online, które wiązały się z dość dużym wydatkiem finansowym. Jednak zawsze wcześniej dokładnie sprawdzałem je, aby upewnić się, że kupiony kurs dostarczy cennej wiedzy i umiejętności.
Na szczęście istnieje również wiele tzw. Masowych Otwartych Kursów Online (MOOCs) na platformach takich jak Coursera czy edX. Zazwyczaj te platformy pozwalają na przeglądnięcie materiałów kursów za darmo. Oznacza to, że możesz uzyskać dostęp do całego kursu, bez żadnych opłat, choć jeśli chcesz podejść do testów i zdobyć certyfikat, będzie trzeba ponieść opłatę. Warto zaznaczyć, że zdobycie certyfikatu nie jest obowiązkowe. Możesz go oczywiście dodać do swojego profilu na LinkedIn lub do CV, ale zawsze pamiętaj - to, co naprawdę się liczy, to wiedza i umiejętności, które zdobyłaś. Skup się na tym przede wszystkim.
Jednym z głównych atutów kursów MOOC jest wysokiej jakości materiał edukacyjny, który oferują. Ten materiał jest starannie dobrany przez niektórych z najlepszych wykładowców na świecie z renomowanych uniwersytetów lub doświadczonych profesjonalistów z wiodących firm branżowych. W obliczu ogromu dostępnych dzisiaj MOOCs, może być to dość trudne zadanie, aby znaleźć te, które naprawdę współgrają z twoją ścieżką nauki. Ponadto, określenie odpowiedniej kolejności ich podjęcia może być równie trudne. Tutaj wkracza R4Good.Academy.
Czy powinienem uczyć się R czy Pythona do pracy z danymi?
Zacznijmy od uproszczenia: Jeśli pytasz, który język programowania wybrać na początek, to prawdopodobnie na tym etapie to nie ma znaczenia.
Masz wiele opcji. Zacznij od nauki R, potem Pythona, lub zamień kolejność - to Twój wybór. Nie ma reguły, która mówi, że nie możesz nauczyć się obu, lub nawet rozważyć nauki innych języków, takich jak Julia, C++, Rust czy Go, podczas gdy jesteś w tym. Chcesz rozwijać umiejętności w tworzeniu aplikacji internetowych opartych o dane? Bardzo możliwe, że będziesz musiał opanować również CSS, HTML i JavaScript. Ale oto ważna rzecz: ostateczny wybór nie jest wyryty w kamieniu. Zależy on od projektów, nad którymi będziesz pracować, branży, w którą celujesz, firm, które Cię interesują lub używanych przez nie technologii.
Jednak muszę podzielić się pewnym ostrzeżeniem: mieszanie zbyt wielu języków programowania lub technologii internetowych jednocześnie może sprawić, że poczujesz się przytłoczony i zagubiony. Zazwyczaj mądrym ruchem jest zaczęcie od nauki tylko jednego. Jeśli próbujesz dokonać wyboru, poszukaj języka, który jest darmowy, popularny i świetny w rozwiązywaniu różnorodnych problemów związanych z danymi. Jeśli jesteś podobny do mnie i nie masz wcześniejszego wykształcenia informatycznego, polecam zacząć od R - to dobry punkt wyjścia.
Czy nauka R z czasopism naukowych i oficjalnej dokumentacji oprogramowania jest realną opcją?
Na początek? Prawdopodobnie nie. Chociaż istnieją doskonałe źródła, takie jak R Journal i Journal of Statistical Software, nie wspominając o oficjalnej dokumentacji R’a i indywidualnej dokumentacji dla każdego pakietu R, to niekoniecznie są one przyjazne dla początkujących. Słowo wyjaśnienia: te treści są niezwykle aktualne — jeśli istnieje nowe narzędzie, takie jak pakiet R, możesz być pewien, że znajdziesz do niego dokumentację. Czytasz ją i możesz od razu zacząć go używać. Problemem tutaj jest jednak to, że tego rodzaju dokumentacja może być polem minowym dla początkujących. Nie mówimy tutaj o instrukcjach montażu w stylu IKEA. To zwykle skomplikowane, techniczne informacje z minimalnymi przykładami. Zakładają pewien poziom wcześniejszej wiedzy, czego może brakować początkującym.
Czy powinienem uczyć się R’a i Data Science z książek?
Książki często są doskonałym źródłem nauki dla początkujących, zwłaszcza jeśli są specjalnie przygotowane z myślą o początkujących. Zazwyczaj książki są znane z treści wysokiej jakości. Dzieje się tak dlatego, że są starannie opracowywane przez doświadczonych autorów i rygorystycznie oceniane przez recenzentów. Dlatego stanowią wiarygodne źródło informacji, gdy rozpoczynasz swoją przygodę z Data Science.
Pierwszym problemem z tradycyjnymi książkami jest jednak to, że mogą być drogie. Na szczęście wiele książek jest dostępnych jako tanie e-booki, darmowe pliki PDF lub czasami nawet drogie tradycyjne książki oferują darmowe wersje w formie strony internetowej HTML.
Drugim problemem z książkami jest to, że nie są aktualizowane tak często jak oficjalna dokumentacja pakietów R. Dotyczy to zwłaszcza książek, przetłumaczonych na język polski. Choć na pewno nie jest to zła praktyka rozpocząć naukę od książek napisanych po polsku, to zagłębianie się w oryginalne anglojęzyczne publikacje może okazać się jeszcze lepszym podejściem. Ta zasada często ma zastosowanie do wszelkiego rodzaju treści:
Opanowanie materiału w jego oryginalnym języku może dać Ci przewagę nad tymi, którzy muszą czekać na jego tłumaczenie.
Czy powinieneś studiować Data Science na uczelni?
Obecnie wiele uczelni oferuje różnorodne interesujące programy z zakresu Data Science. Możesz znaleźć pełne zdalne studia online, studia podyplomowe i wiele innych. Chociaż te programy mogą być dość kosztowne, mogą przynieść znaczący zwrot z inwestycji, jeśli dostarczają wysokiej jakości treści. Jednakże, jeśli jesteś zupełnym początkującym, przygotuj się na trudności w opanowywaniu materiału - nauka w szybkim tempie będzie się mogła wydawać jak próba picia wody z hydrantu. Staniesz przed mnóstwem materiałów, które będziesz musiał zrozumieć każdego tygodnia. Osiągnięcie tego jest możliwe, uwierz mi, zrobiłem to. Ale proponuję inny sposób: przygotuj się wcześniej samodzielnie. Zacznij od zapoznania się z tematami i poświęć czas na samokształcenie, czytając odpowiednie książki lub uczestnicząc w kursach MOOC.
Jakie są nasze rekomendacje?
W R4Good.Academy, dostarczamy listy rekomendowanych źródeł, które są optymalne na początek Twojej przygody z różnymi tematami z zakresu Data Science. Listy te będą regularnie aktualizowane. Powód jest taki, że czytanie tych książek lub uczestnictwo w kursach online zajmuje Twój czas, a jednocześnie pojawiają się ciągle nowe materiały. Możesz być pewien, że rekomendowane przez tutaj treści są wysokiej jakości, naprawdę przydatne, zrozumiałe i warte Twojego cennego czasu. Dodatkowo, rekomendowane treści są albo darmowe, albo dostępne za niską cenę, aby ułatwić ich dostępność dla wszystkich.
Generalnie, chciałbym polecić Ci listę źródeł, które pozwolą Ci wejść w świat Data Science w sposób, który nazywam delikatnym wprowadzeniem. Poprzez studiowanie wybranych książek i później dłuższych kursów online we własnym tempie, zdobędziesz w końcu pewne doświadczenie praktyczne podczas własnych projektów.
Jednak nawet najlepsza lista zasobów nie pomoże, jeśli nie zaczniesz przyjmować właściwego podejścia. Podejście, którego potrzebujesz, obejmuje:
Zobowiązanie czasowe — Ważne jest regularne i trwałe zaangażowanie w naukę. Oznacza to regularne wyznaczanie bloków czasowych na naukę. Czytanie jednej książki czy ukończenie jednego kursu online nie dostarczy wszystkich umiejętności, których pragniesz. Jednak każdy krok zbliża cię do celu. To ciągły proces, który wymaga poświęcenia na dłuższą metę. Zobowiąż się do tego.
Kontynuację nauki — nawet jeśli na początku nie rozumiesz większości rzeczy. To normalne. Bądź łagodny wobec siebie. Bądź cierpliwy. W miarę jak dowiesz się więcej i umieścisz to, czego się uczysz, w kontekście, w końcu będziesz w stanie połączyć te wszystkie punkty. Więc kontynuuj swoją eksplorację.
Bycie otwartym — tak wiele daje bycie otwartym — otwartym na nową wiedzę, na możliwość, że rzeczy może nie od razu się wyjaśnią, ale przy poświęceniu wystarczająco dużo czasu i wysiłku, możesz zrozumieć nawet skomplikowane koncepcje. Pamiętam wyraźnie pewną sytuację, gdy prowadziłem zajęcia na uczelni. Jeden student, w szczególności, westchnął głęboko, wyglądając zupełnie zfrustrowany i ogłosił: “Nigdy nie zrozumiem tej statystyki”. Nie rozmawialiśmy wtedy o żadnych skomplikowanych modelach statystycznych. Omawialiśmy tylko podstawowe elementy, takie jak średnia i mediana. Początkowo byłem zaskoczony, ale potem postanowiłem spojrzeć na tę sytuację z innej perspektywy. Przecież nie mogłem być takim złym nauczycielem, że studentci czują się tak bardzo zagubieni nawet w tak podstawowych kwestiach, prawda? W tamtym momencie zrozumiałem, że umysł zamknięty z powodu strachu lub braku zaangażowania może być zamknięty nawet dla najprostszych ideai.
Nigdy nie etykietuj siebie w sposób ograniczający. Podczas nauki ważne jest pamiętanie, że zrozumienie przychodzi z czasem i cierpliwością. Skomplikowane koncepcje mogą teraz wydawać się przerażające, ale dzięki konsekwentnemu wysiłkowi, możesz rozwinąć ich głębokie zrozumienie, lub przynajmniej jakąś intuicję. Moja rada? Bądź cierpliwy, bądź wytrwały. Patrz na rzeczy, które dzisiaj nie rozumiesz, jako interesujące koncepcje, których po prostu jeszcze nie zrozumiałeś.