Notatki Date Scientist: od czego zacząć i czy jest to konieczne?

Notatki Date Scientist: od czego zacząć i czy jest to konieczne?

TL;DR to post z pytaniami/odpowiedziami na temat Data Science oraz tego, jak wejść do zawodu i się w nim rozwijać. W artykule przeanalizuję podstawowe zasady oraz FAQ i jestem gotowy odpowiedzieć na Twoje konkretne pytania - napisz w komentarzach (lub w wiadomości prywatnej), postaram się odpowiedzieć na wszystko w ciągu kilku dni.

Wraz z pojawieniem się serii notatek „Data satanisty” pojawiło się wiele wiadomości i komentarzy z pytaniami o to, jak zacząć i gdzie kopać, a dziś przeanalizujemy główne umiejętności i pytania, które pojawiły się po publikacjach.

Wszystko co tu jest napisane nie rości sobie prawa do ostatecznej prawdy i jest subiektywną opinią autora. Przyjrzymy się najważniejszym rzeczom, które wydają się najważniejsze w tym procesie.

Dlaczego jest to dokładnie potrzebne?

Aby cel był lepiej osiągalny, żeby wyglądał choć trochę konkretnie – chcesz zostać DS lub Research Scientist w Facebooku/Apple/Amazon/Netflix/Google – spójrz na wymagania, języki i niezbędne umiejętności konkretnie na jakie stanowisko. Jak wygląda proces rekrutacji? Jak wygląda typowy dzień w takiej roli? Jak wygląda przeciętny profil osoby, która tam pracuje?

Często ogólny obraz jest taki, że dana osoba nie do końca rozumie, czego tak naprawdę chce i nie do końca jest jasne, jak się przygotować na ten niejasny obraz – dlatego warto mieć chociaż przybliżony plan tego, czego dokładnie chcesz.

Skonkretuj bieżący pogląd na cel

Nawet jeśli po drodze się to zmienia, a zmiany planów w trakcie zabawy są generalnie rzeczą normalną, warto mieć cel i skupiać się na nim, okresowo oceniać i przemyśleć.

Czy tak będzie i czy nadal jest to aktualne?

Do czasu, gdy osiągniesz pozycję.

Wyobraź sobie, że przed objęciem stanowiska musisz zrobić doktorat, przepracować 2-3 lata w branży i w ogóle ściąć włosy podczas medytacji w klasztorze – czy sytuacja z Data Science nie będzie taka sama jak kiedyś z ekonomistami i prawnicy? Czy w obszarze, w którym chcesz się rozwijać, wszystko zmieni się nie do poznania?

Czy nie jest duża szansa, że ​​wszyscy się tam teraz pospieszą i zobaczymy obraz, na którym jest szeroka warstwa ludzi, którzy próbują wejść do zawodu – a pozycja wyjściowa będzie po prostu skromna.

Być może przy wyborze ścieżki warto wziąć pod uwagę aktualne trendy, nie tylko aktualny stan rynku pracy, ale także swoje wyobrażenie o tym, jak się on zmienia i gdzie jest.

Na przykład autor nie planował zostać satanistą, ale w czasie doktoratu pracował nad projektami zewnętrznymi, które miały silne umiejętności wspólne z DS, a pod koniec studiów w naturalny sposób przestawił się na środowisko, widząc dobrą pozycja.

Jeśli w trakcie zabawy okaże się, że trzeba będzie przenieść się gdzie indziej – bo jest teraz najwięcej ruchu i dzieje się tam najciekawsza akcja, to w naturalny sposób przeniesiemy się tam.

Podział umiejętności

Są to warunkowe kategorie umiejętności, które wydają mi się kluczowe do pełnej i efektywnej pracy w DS. Osobno podkreślę język angielski – ucz się wszystkiego, co robisz w CS. Dalej znajdują się kluczowe kategorie.

Programowanie/Skrypty

Jakie języki na pewno poznasz? Pyton? Jawa? Skrypty powłoki? Lua? SQL? C++?

Co dokładnie musisz umieć i dlaczego w zakresie programowania - zakres stanowisk jest tutaj bardzo zróżnicowany.

Na przykład często muszę wdrażać złożoną logikę, zapytania, modele, analizy i ogólnie opracowywać interpretowane systemy, ale prawie nigdy nie ma wymagań dotyczących szybkości kodu, z wyjątkiem tych najbardziej ogólnych i rozsądnych.

Dlatego moje umiejętności bardzo różnią się od tych, którzy piszą bibliotekę Tensorflow i myślą o optymalizacji kodu w celu wydajnego wykorzystania pamięci podręcznej l1 i podobnych rzeczy, więc spójrz, czego dokładnie potrzebujesz i oceń właściwą ścieżkę do nauki.

Na przykład w przypadku Pythona ludzie już tworzą mapa nauka języka.

Z pewnością istnieją już sprawdzone porady i dobre źródła na Twoje potrzeby - musisz zdecydować się na listę i zacząć nad nią pracować.

Zrozumienie procesów biznesowych

Bez tego nie możesz się nigdzie ruszyć: musisz zrozumieć, dlaczego jesteś potrzebny w tym procesie, co robisz i dlaczego. Często właśnie to może zaoszczędzić mnóstwo czasu, zmaksymalizować korzyści i nie marnować czasu i zasobów na bzdury.

Zwykle zadaję sobie następujące pytania:

  • Czym dokładnie zajmuję się w firmie?
  • Dlaczego?
  • Kto i jak będzie z tego korzystał?
  • Jakie mam opcje?
  • Jakie są granice parametrów?

Tutaj trochę więcej szczegółów na temat parametrów: często można znacznie zmienić scenariusz pracy, jeśli wiesz, że można coś poświęcić: na przykład interpretowalność lub odwrotnie, kilka procent nie odegra tutaj roli i mamy bardzo szybkie rozwiązanie, a klient tego potrzebuje, bo płaci za czas działania potoku w AWS.

Matematyka

Tutaj wszystko myślisz i rozumiesz sam - bez znajomości podstaw matematyki jesteś niczym więcej niż małpami z granatem (przepraszam, Random Forest) - więc musisz zrozumieć chociaż podstawowe rzeczy. Gdybym miał stworzyć bardzo minimalistyczną listę, zawierałaby ona:

  • Algebra liniowa - ogromna liczba zasobów jest łatwa do wyszukania w Google, poszukaj tego, co najbardziej Ci odpowiada;
  • Analiza matematyczna - (przynajmniej w pierwszych dwóch semestrach);
  • Teoria prawdopodobieństwa jest obecna wszędzie w uczeniu maszynowym;
  • Kombinatoryka - jest właściwie uzupełnieniem teorii;
  • Teoria grafów – przynajmniej BASIC;
  • Algorytmy – przynajmniej przez pierwsze dwa semestry (patrz zalecenia Cormena w jego książce);
  • Mathlogic - przynajmniej podstawowa.

Praktyczna analiza i wizualizacja danych

Jedną z najważniejszych rzeczy jest to, aby móc nie bać się zabrudzić sobie rąk danymi i przeprowadzić kompleksową analizę zbioru danych, projektu i stworzyć szybką wizualizację danych.

Eksploracyjna analiza danych powinna po prostu stać się czymś naturalnym, tak jak wszystkie inne transformacje danych i możliwość stworzenia prostego potoku z węzłów uniksowych (patrz poprzednie artykuły) lub napisania czytelnego i zrozumiałego notatnika.

Wspomnę jeszcze o wizualizacji: lepiej raz zobaczyć, niż usłyszeć sto razy.

Pokazanie wykresu menedżerowi jest sto razy łatwiejsze i wyraźniejsze niż zestaw liczb, dlatego Twoimi przyjaciółmi są matplotlib, seaborn i ggplot2.

Umiejętności miękkie

Równie ważna jest umiejętność komunikowania swoich pomysłów, wyników i obaw (itp.) innym – upewnij się, że potrafisz jasno określić zadanie zarówno pod względem technicznym, jak i biznesowym.

Możesz wyjaśnić współpracownikom, menedżerom, przełożonym, klientom i każdemu, kto tego potrzebuje, co się dzieje, jakich danych używasz i jakie otrzymujesz wyniki.

Twoje wykresy i dokumentację należy czytać bez Ciebie. Oznacza to, że nie musisz do ciebie przychodzić, aby zrozumieć, co jest tam napisane.

Możesz przygotować przejrzystą prezentację, aby przekazać punkt widzenia i/lub udokumentować projekt/swoją pracę.

Możesz przekazać swoje stanowisko w sposób przemyślany i pozbawiony emocji, powiedzieć „tak/nie” lub zakwestionować/podeprzeć decyzję.

szkolenie

Jest wiele różnych miejsc, gdzie można się tego wszystkiego dowiedzieć. Podam krótką listę – próbowałem z niej wszystkiego i szczerze mówiąc, każdy przedmiot ma swoje wady i zalety. Wypróbuj i zdecyduj, co Ci odpowiada, ale gorąco polecam wypróbowanie kilku opcji i nie utknięcie w jednej.

  • Kursy online: Coursera, udacity, Edx itp.;
  • Nowe szkoły: online i offline - SkillFactory, ShAD, MADE;
  • Szkoły klasyczne: uniwersyteckie studia magisterskie i zaawansowane kursy szkoleniowe;
  • Projekty - możesz po prostu wybrać zadania, które Cię interesują i wyciąć je, przesyłając je na github;
  • Praktyki – trudno tu cokolwiek doradzić, trzeba poszukać i znaleźć odpowiednie opcje.

Czy to konieczne?

Na zakończenie pewnie dodam jeszcze trzy osobiste zasady, którymi sama staram się kierować.

  • Powinno być interesujące;
  • Przynieś wewnętrzną przyjemność (= przynajmniej nie sprawiaj cierpienia);
  • „Aby być twoim”.

Dlaczego oni? Trudno sobie wyobrazić, że codziennie robisz coś i nie sprawia Ci to przyjemności lub nie interesuje Cię to. Wyobraź sobie, że jesteś lekarzem i nie lubisz komunikować się z ludźmi - to oczywiście może w jakiś sposób zadziałać, ale będziesz stale czuł się niekomfortowo w związku z napływem pacjentów, którzy chcą Cię o coś zapytać. To nie działa na dłuższą metę.

Dlaczego wspomniałem konkretnie o przyjemności wewnętrznej? Wydaje mi się, że jest to konieczne do dalszego rozwoju i w zasadzie procesu uczenia się. Bardzo lubię, gdy udaje mi się ukończyć jakąś skomplikowaną operację i zbudować model lub obliczyć ważny parametr. Lubię, gdy mój kod jest estetyczny i dobrze napisany. Dlatego uczenie się czegoś nowego jest ciekawe i nie wymaga bezpośrednio żadnej znaczącej motywacji.

„Bycie twoje” to to samo uczucie, że mniej więcej to właśnie chciałeś zrobić. Mam małą historię. Od dzieciństwa interesowałem się muzyką rockową (i metalem – SALMON!) i jak wielu innych chciałem nauczyć się grać i tyle. Okazało się, że nie mam słuchu i głosu – wcale mi to nie przeszkadzało (a wielu wykonawcom na scenie to nie przeszkadza), a jeszcze w szkole dostałem gitarę… i stało się jasne, że tak naprawdę nie lubię siedzieć godzinami i bawić się na tym. Szło ciężko, zawsze wydawało mi się, że wychodzą jakieś bzdury – nie czerpałem z tego żadnej przyjemności i czułem się po prostu kiepski, głupi i zupełnie niezdolny. Dosłownie zmuszałam się do siadania na zajęcia i ogólnie nie była to dobra karma dla konia.

Jednocześnie mogłem w miarę spokojnie siedzieć godzinami tworząc jakąś zabawkę, używając skryptu do animowania czegoś we flashu (lub czegoś innego) i miałem szalenie motywację do dokończenia elementów w grze lub uporania się z mechaniką ruchu i/lub łączenie bibliotek, wtyczek i wszystkiego innego innych firm.

I w pewnym momencie zdałem sobie sprawę, że gra na gitarze to nie moja bajka i naprawdę lubię słuchać, a nie grać. A moje oczy błyszczały, kiedy pisałem gry i kod (słuchałem w tym momencie wszelkiego rodzaju metalu) i to właśnie mi się wtedy podobało i to właśnie powinienem robić.

Czy masz jakieś inne pytania?

Oczywiście nie mogliśmy przejrzeć wszystkich tematów i pytań, dlatego piszcie komentarze i piszcie do mnie na PW – zawsze chętnie zadam pytania.

Notatki Date Scientist: od czego zacząć i czy jest to konieczne?

Notatki Date Scientist: od czego zacząć i czy jest to konieczne?

Źródło: www.habr.com

Dodaj komentarz