Kurs data science
Jak wejść do świata data science – Python, SQL, statystyka – plan nauki na 6 miesięcy?
Projekt-Plan
{{whyLabel}}: Statystyka pozwala odróżnić rzeczywiste trendy od przypadkowego szumu w danych.
{{howLabel}}:
- Skup się na rozdziałach dotyczących korelacji i prawdopodobieństwa.
- Rób notatki z pojęć: średnia, mediana, odchylenie standardowe.
- Zrozum, dlaczego korelacja nie oznacza przyczynowości.
{{doneWhenLabel}}: Przeczytano całą książkę i sporządzono notatki z kluczowych definicji.
{{whyLabel}}: Większość algorytmów Data Science zakłada, że dane mają rozkład normalny (krzywa Gaussa).
{{howLabel}}:
- Naucz się obliczać Z-score, aby standaryzować dane.
- Zrozum, że 95% obserwacji mieści się w granicach dwóch odchyleń standardowych od średniej.
- Wykorzystaj darmowe kalkulatory online do wizualizacji rozkładu.
{{doneWhenLabel}}: Potrafisz samodzielnie narysować krzywą Gaussa i opisać jej parametry.
{{whyLabel}}: To kluczowa umiejętność przy testach A/B i sprawdzaniu istotności wyników biznesowych.
{{howLabel}}:
- Zdefiniuj hipotezę zerową (H0) i alternatywną (H1).
- Zrozum, że p-value < 0.05 zazwyczaj oznacza wynik istotny statystycznie.
- Przeanalizuj błędy I i II rodzaju.
{{doneWhenLabel}}: Rozwiązanie 5 zadań z testu t-Studenta na papierze lub w arkuszu.
{{whyLabel}}: Anaconda to standardowe środowisko zawierające wszystkie potrzebne biblioteki do nauki danych.
{{howLabel}}:
- Pobierz instalator ze strony anaconda.com.
- Uruchom 'Anaconda Navigator' i otwórz Jupyter Lab.
- Stwórz swój pierwszy plik .ipynb i przetestuj komendę print('Hello DS').
{{doneWhenLabel}}: Środowisko działa poprawnie i wyświetla wynik kodu.
{{whyLabel}}: Bez znajomości list i słowników nie będziesz w stanie przetwarzać danych wejściowych.
{{howLabel}}:
- Przećwicz tworzenie list (list) i słowników (dict).
- Naucz się 'list comprehension' dla szybszego pisania kodu.
- Zrozum różnicę między krotką (tuple) a listą.
{{doneWhenLabel}}: Napisanie skryptu, który filtruje listę słowników według określonego klucza.
{{whyLabel}}: Pandas to najważniejsze narzędzie do pracy z tabelami (DataFrame) w Pythonie.
{{howLabel}}:
- Skup się na metodach: .read_csv(), .head(), .info(), .describe().
- Opanuj filtrowanie wierszy i wybieranie kolumn.
- Naucz się łączyć tabele za pomocą .merge() i .concat().
{{doneWhenLabel}}: Wczytanie dowolnego pliku CSV i obliczenie średniej wartości dla wybranej kolumny.
{{whyLabel}}: Większość danych firmowych przechowywana jest w bazach SQL, a DBeaver to uniwersalny klient do ich obsługi.
{{howLabel}}:
- Zainstaluj PostgreSQL lokalnie.
- Połącz się z bazą przez DBeaver.
- Zaimportuj przykładową bazę danych (np. 'DVD Rental' lub 'Northwind').
{{doneWhenLabel}}: Połączenie z bazą danych zostało nawiązane.
{{whyLabel}}: Łączenie tabel to podstawa pracy analityka, pozwalająca na budowanie pełnego obrazu danych.
{{howLabel}}:
- Przećwicz INNER JOIN, LEFT JOIN i CROSS JOIN.
- Naucz się używać aliasów dla tabel i kolumn.
- Zrozum różnicę między WHERE (filtrowanie wierszy) a HAVING (filtrowanie grup).
{{doneWhenLabel}}: Napisanie zapytania łączącego 3 tabele i zwracającego zagregowane wyniki.
{{whyLabel}}: Exploratory Data Analysis (EDA) to proces zrozumienia danych przed budową modelu.
{{howLabel}}:
- Pobierz zbiór 'Titanic' z Kaggle.
- Sprawdź braki danych (NaN) i zdecyduj, czy je usunąć, czy uzupełnić.
- Sprawdź korelacje między wiekiem, płcią a szansą na przeżycie.
{{doneWhenLabel}}: Notebook z kompletną analizą brakujących danych i statystykami opisowymi.
{{whyLabel}}: Dobry wykres wart jest więcej niż tysiąc wierszy w tabeli.
{{howLabel}}:
- Użyj sns.heatmap() do wizualizacji korelacji.
- Stwórz histogramy rozkładu cech za pomocą plt.hist().
- Wykorzystaj boxploty do wykrywania wartości odstających (outliers).
{{doneWhenLabel}}: Zestaw 5 różnorodnych wykresów opisujących zbiór danych.
{{whyLabel}}: Regresja to fundament przewidywania wartości ciągłych (np. cen, sprzedaży).
{{howLabel}}:
- Podziel dane na zbiór treningowy i testowy (train_test_split).
- Użyj klasy LinearRegression z biblioteki Scikit-learn.
- Oblicz błąd średniokwadratowy (MSE), aby ocenić model.
{{doneWhenLabel}}: Model przewiduje wartości z błędem niższym niż średnia.
{{whyLabel}}: Klasyfikacja pozwala przypisywać obiekty do kategorii (np. spam/nie-spam).
{{howLabel}}:
- Wykorzystaj algorytm Random Forest Classifier.
- Zrozum pojęcie 'overfitting' (przeuczenie modelu).
- Wygeneruj 'Classification Report' (Precision, Recall, F1).
{{doneWhenLabel}}: Model klasyfikujący z dokładnością (Accuracy) powyżej 75%.
{{whyLabel}}: Własny projekt udowadnia, że potrafisz przejść przez cały proces: od danych do wniosków.
{{howLabel}}:
- Wybierz temat, który Cię interesuje (np. analiza cen kryptowalut lub sportu).
- Pobierz dane, wyczyść je, przeprowadź EDA i zbuduj model ML.
- Opisz każdy krok w Jupyter Notebooku.
{{doneWhenLabel}}: Gotowy, udokumentowany projekt w formacie .ipynb.
{{whyLabel}}: GitHub to Twoja wizytówka dla rekruterów.
{{howLabel}}:
- Stwórz nowe repozytorium.
- Napisz plik README.md zawierający: cel projektu, użyte technologie i główne wnioski.
- Dodaj screeny wykresów do opisu.
{{doneWhenLabel}}: Link do repozytorium jest publiczny i czytelny.
{{whyLabel}}: Rozmowy techniczne wymagają specyficznego przygotowania z algorytmów i logiki.
{{howLabel}}:
- Przerób sekcję z SQL (zadania typu 'Medium').
- Powtórz definicje z zakresu statystyki i ML.
- Przygotuj odpowiedzi na pytania o Twoje projekty.
{{doneWhenLabel}}: Rozwiązanie 20 przykładowych pytań rekrutacyjnych.