English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

gość
1 / ?
powrót do lekcji

Czym jest Data Science? [BLOCK_TYPE SECTION/STEP]

Data science to nie tylko uczenie maszynowe. Nie jest to tylko statystyka. Nie jest to tylko programowanie. [BLOCK_TYPE SECTION/STEP]

Data science to dyscyplina polegająca na wydobywaniu użytecznej wiedzy z danych. Większość tej pracy nie jest glamour: polega na czyszczeniu nieporządnych arkuszy kalkulacyjnych、askingu the right questions, and communicating results to people who do not care about your code. [BLOCK_TYPE SECTION/STEP]

Data Science Pipeline [BLOCK_TYPE SECTION/STEP]

Typowy pipeline data science wygląda następująco:

1. Collect: zbierz surowe dane z baz danych, API, plików CSV lub web scrapingu

2. Clean: obsługuj brakujące wartości, popraw typy danych, usuń duplikaty

3. Explore: wizualizuj rozkłady, znajdź wzorce, zadawaj pytania

4. Engineer: twórz nowe cechy, które pomagają modelom uczyć się

5. Model: trenuj algorytmy, oceniaj wydajność, iteruj

6. Communicate: prezentuj wyniki interesariuszom, którzy podejmują decyzje

Jeśli kiedykolwiek korzystałeś z tabel przestawnych w Excelu, formatowania warunkowego lub funkcji WYSZUKAJ.PIONOWO, to już wykonujesz kroki 1-3. Ta lekcja łączy tę Erfahrung z workflow opartym na Pythonie używanym w przemyśle.

Rozgrzewka

Twoje doświadczenie z danymi

Każdy pracował z danymi w jakiejś formie: arkusz budżetu, śledzenie ocen, aplikacja fitness, a nawet playlista z liczbą odtworzeń.

Opisz sytuację, w której pracowałeś z danymi w arkuszu kalkulacyjnym lub aplikacji. Co próbowałeś ustalić i czy dane dały ci odpowiedź?

Śmieci na wejściu, śmieci na wyjściu

Dlaczego czyszczenie danych ma znaczenie

Naukowcy danych poświęcają 60-80% swojego czasu na czyszczenie danych. Nie jest to przesada: jest to spójny wniosek z wielu badań branżowych.

Powód jest prosty: śmieci na wejściu, śmieci na wyjściu. Jeśli Twoje dane mają błędy, brakujące wartości lub niespójne formaty,那么基于这些数据进行的任何分析都会是错误的。A perfect model trained on dirty data produces confidently wrong answers.


Typowe problemy z danymi

- Brakujące wartości: komórki są puste. Czy data nie została pobrana, czy wartość jest w rzeczywistości zerowa? Są to różne sytuacje, które wymagają różnych metod obsługi.

- Nieprawidłowe typy danych: kolumna liczb przechowywana jako tekst, daty w niespójnych formatach (01/02/2024: czy to 2 stycznia czy 1 lutego?)

- Wartości odstające: w kolumnie wynagrodzeń znajduje się jedna pozycja o wartości 1 000 000 000 USD. Czy to حقيقي, czy błąd? W każdym przypadku będzie to zaburzać Twoje średnie.

- Duplikaty: ten sam rekord pojawia się dwa razy, ponieważ dwa systemy zostały połączone niedoskonale

- Kodowanie kategorii: kolumna zawiera 'Yes', 'yes', 'Y', 'TRUE' i '1'. Wszystkie te wartości oznaczają to samo, ale komputer tego nie wie.


W pandas (standardowej bibliotece Pythona do pracy z danymi), radzisz sobie z nimi metodami takimi jak dropna(), fillna(), astype() i drop_duplicates(). Ale najtrudniejsza część nie jest w kodzie: to decyzja co zrobić z każdym problemem.

Common Data Problems

Decyzje dotyczące czyszczenia

Decydowanie, co zrobić

Oto rzeczywisty scenariusz. Masz zbiór danych zawierający 10 000 rekordów klientów. Kolumna 'age' ma 500 brakujących wartości.

Twoje opcje:

- Usuń wiersze: usuń wszystkie 500 rekordów. Proste, ale tracisz 5% danych. Jeśli te 500 klientów ma wspólną cechę (np. pomijają pole z wiekiem, ponieważ są świadomi prywatności), usunięcie ich wprowadza błąd systematyczny.

- Wypełnij średnią: zastąp puste wartości średnim wiekiem. Szybkie, ale sztucznie zmniejsza wariancję kolumny wiek.

- Wypełnij medianą: lepsze niż średnia, jeśli rozkład wieku jest asymetryczny (kilka bardzo starych lub bardzo młodych klientów, którzy wpływون na średnią).

- Użyj flagi: utwórz nową kolumnę o nazwie 'age_missing' (1 lub 0) i zapisz medianę w oryginalnej kolumnie. Teraz model może uczyć się, czy brak danych sam w sobie jest informacyjny.

Nie ma uniwersalnej słusznej odpowiedzi. Wybór zależy od tego, dlaczego dane są缺失 i co zamierzasz zrobić z nimi.

Masz zbiór danych o wynagrodzeniach pracowników. 200 spośród 5 000 rekordów ma wartości wynagrodzenia brakujące. Zauważasz że większość brakujących wartości pochodzi od kadry kierowniczej. Czy w przypadku tych wierszy będziesz usuwąć je, заполнять średnią, czy zastosujesz coś innego? Wyjaśnij swoje rozumowanie.

Zadawanie właściwych pytań

Analiza Danych Eksploracyjna (EDA)

Przed zbudowaniem modelu musisz zrozumieć dane. EDA to proces podsumowywania, wizualizacji i zadawania pytań dotyczących zbioru danych, aby znaleźć wzorce, anomalie i związki.


Kluczowe narzędzia

- Histogramy: pokazują rozkład pojedynczej zmiennej. Czy jest rozkładem normalnym? Czy jest skośny? Czy jest bimodalny (dwa szczyty)? Histogram dochodów jest zawsze prawoskośny, ponieważ niewielka liczba osób zarabia znacznie więcej niż większość.

- Wykresy rozrzutu: pokazują zależność między dwiema zmiennymi. Czy wyżsi ludzie ważą więcej? Czy więcej czasu poświęconego na naukę wiąże się z b

- Correlation: a number between -1 and +1 that measures linear association. +1 means perfect positive relationship, -1 means perfect negative, 0 means no linear relationship. But correlation does not imply causation: ice cream sales and drowning deaths are correlated because both increase in summer.

- Summary statistics: mean, median, standard deviation, min, max. In pandas: df.describe() gives you all of these in one line.


The Real Skill

Narzędzia są łatwe do nauczenia. Najtrudniejszą częścią jest zadawanie właściwych pytań. Złe pytanie: 'Co mówią dane?' Dobre pytanie: 'Czy klienci, którzy kontaktują się z pomocą techniczną w pierwszym tygodniu, mają wyższe wskaźniki retencji?'

Narzędzia EDA

Pułapka korelacji

Korelacja vs. Przyczynowość

To najważniejsza koncepcja w zakresie umiejętności korzystania z danych. Dwie zmienne mogą być silnie skorelowane, nawet jeśli jedna nie powoduje drugiej.

Klasyczne przykłady:

- Miasta z większą liczbą strażaków mają więcej pożarów. (Większe miasta mają oba.)

- Uczniowie, którzy jedzą śniadanie, mają lepsze oceny. (Być może zamożniejsze rodziny częściej zapewniają śniadanie ORAZ wsparcie akademickie.)

- Kraje, które spożywają więcej czekolady, zdobywają więcej Nagród Nobla. (Oba czynniki korelują z bogactwem narodowym.)

Ukryty czynnik nazywany jest zmienną zakłócającą: trzecią zmienną, która wpływa zarówno na jedną, jak i na drugą z obserwowanych zmiennych.

Korelacja vs. Przyczynowość

Firma odkryła, że pracownicy korzystający z siłowni w biurze mają o 30% mniej dni chorobowych. CEO chce wprowadzić obowiązek korzystania z siłowni dla wszystkich pracowników. Co jest w tym rozumowaniu niepoprawne? Jakie zmiennej zakłócające mogą wyjaśniać tę korelację?

Tworzenie użytecznych zmiennych

Czym jest inżynieria cech?

Cecha (feature) jest zmienną wejściową, którą model wykorzystuje do przewidywania. Inżynieria cech to sztuka tworzenia nowych cech z surowych danych, aby modele mogły uczyć się wzorców, których w przeciwnym razie nie mogłyby dostrzec.

Surowe dane rzadko przychodzą w formie, której modele potrzebują. Rozważmy zbiór danych ze kolumną „data urodzenia”. Model nie może wiele zrobić z surowymi datami. Ale jeśli stworzysz cechę „wiek” z niej, nagle model może uczyć się wzorców opartych na wieku.


Popularne techniki

- Normalizacja: skalowanie liczb do wspólnego zakresu (0 do 1, lub średnia=0 i odchylenie standardowe=1). Bez tego cecha mierzona w tysiącach (wynagrodzenie) będzie dominować nad cechą mierzoną w pojedynczych cyfrach (lata doświadczenia).

- Kodowanie one-hot: konwertowanie zmiennych kategorycznych na kolumny binarne. Kolumna 'color' z wartościami [red, blue, green] staje się trzema kolumnami: 'color_red', 'color_blue', 'color_green', z wartościami 0 lub 1 w każdej.

- Binning: przekształcanie zmiennej ciągłej na kategorie. Wiek 0-17 staje się 'minor', 18-64 staje się 'adult', a 65+ staje się 'senior'. To pomaga gdy relacja nie jest liniowa.

- Cechy interakcji: mnożenie dwóch cech ze sobą. 'Powierzchnia mieszkania razy liczba łazienek' może lepiej przewidzieć cenę domu niż każda cecha sama w sobie.

- Wiedza domenowa: najpotężniejsza technika. Lekarz tworzący cechy dla modelu medycznego zna które wartości laboratoryzne są重要的. Marketingowiec zna, że 'dni od ostatniego zakupu' jest bardziej użyteczne niż 'data zakupu'. Żaden algorytm nie może zastąpić tego.

Techniki inżynierii cech

Praktyka cech

Stosowanie inżynierii cech

Wyobraź sobie, że budujesz model do przewidywania, którzy klienci anulują subskrypcję serwisu streamingowego w przyszłym miesiącu. Twoje dane surowe zawierają:

- Data utworzenia konta

- Data ostatniego logowania

- Liczba obejrzanych seriali w zeszłym miesiącu

- Kwota miesięcznej płatności

- Zgłoszenia do obsługi klienta

- Kraj

Na podstawie powyższych danych surowych, zaproponuj przynajmniej trzy nowe cechy, które możesz utworzyć. Dla каждой z них wyjaśnij, co ta cecha reprezentuje i dlaczego może pomóc w przewidywaniu anulowania subskrypcji.

Podział na zbiór treningowy i testowy

Dlaczego dzielisz dane

Najważniejsza zasada w modelowaniu: nigdy nie oceniaj modelu na tych samych danych, na których go trenowałeś.

Jeśli to zrobisz, model może po prostu zapamiętać odpowiedzi. Osiągnie idealny wynik na danych treningowych, ale zawiedzie na nowych, niewidzianych danych. Nazywa się to przeuczeniem (overfitting): model nauczył się szumu w Twoim konkretnym zbiorze danych zamiast rzeczywistych wzorców.

Standardową praktyką jest podział danych:

- Zbiór treningowy (zazwyczaj 70-80%): model uczy się na tych danych

- Zbiór testowy (zazwyczaj 20-30%): odłożony na bok, używany wyłącznie do oceny ostatecznego modelu

W scikit-learn: X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)


Popularne algorytmy

- Regresja liniowa: rysuje linię najlepszego dopasowania przez dane. Prosta, łatwa do interpretacji, działa gdy zależność jest w przybliżeniu liniowa. Przewiduje liczbę (cenę, temperaturę, wynik).

- Drzewa decyzyjne: schemat blokowy pytań tak/nie. Łatwe do zrozumienia i wyjaśnienia. Podatne na przeuczenie, chyba że zostaną przycięte lub ograniczona zostanie ich głębokość.

- Lasy losowe: wiele drzew decyzyjnych głosujących razem. Bardziej dokładne niż pojedyncze drzewo, mniej podatne na przeuczenie, ale trudniejsze do wyjaśnienia.


Przeuczenie vs. Niedouczenie

- Przeuczenie: model jest zbyt złożony. Zapamiętuje dane treningowe, łącznie z szumem. Wysoka dokładność na danych treningowych, niską dokładność na danych testowych.

- Niedouczenie: model zbyt prosty. Nie jest قادرا na wychwycenie prawdziwych wzorców. Niska dokładność na danych treningowych i testowych.

Celem jest złoty środek pomiędzy nimi.

Train/Test Split and Bias-Variance Tradeoff

Metryki oceny

Jak sprawdzić, czy model jest dobry?

Sama dokładność może być myląca. Jeśli 95% e-maili nie jest spamem, model, który zawsze mówi „nie spam”, ma 95% dokładności, ale jest całkowicie bezużyteczny.

Kluczowe metryki:

- Accuracy: procent poprawnych przewidywań. Przydatna, gdy klasy są zrównoważone.

- Precision: spośród wszystkich przypadków, które model oznaczył jako pozytywne, ile naprawdę było pozytywnych? Wysoka precyzja oznacza mało fałszywych alarmów.

- Recall: spośród wszystkich rzeczywistych pozytywnych przypadków, ile model wykrył? Wysoka czułość oznacza mało przeoczonych przypadków.

- F1 score: średnia harmoniczna precyzji i czułości. Przydatna, gdy trzeba zrównoważyć oba wskaźniki.

- RMSE (Root Mean Squared Error): dla regresji (przewidywania liczb). O ile średnio mylą się predykcje?

To, który metryka jest najważniejsza, zależy od problemu. W wykrywaniu raka ważniejsza jest czułość: nie chcesz przegapić żadnego przypadku. W filtrze spamu ważniejsza jest precyzja: nie chcesz usunąć prawdziwego maila.

Evaluation Metrics and Confusion Matrix

Budujesz model do wykrywania oszustw na kartach kredytowych. Tylko 0,1% transakcji jest naprawdę oszustwem. Jeśli model przewiduje każdą transakcję jako legalną, jaka jest jego dokładność? Dlaczego dokładność jest złą metryką w tym przypadku i jaką metrykę zastosujesz zamiast niej?

Analityk danych vs. Data Scientist vs. Inżynier ML

Trzy odrębne role

Dziedzina danych ma trzy główne ścieżki kariery, a każda z nich wymaga różnych umiejętności.


Analityk danych

- Focus: odpowiadanie na pytania biznesowe za pomocą istniejących danych

- Tools: SQL, Excel, Tableau, podstawy Python lub R

- Day-to-day: dashboardy, raporty, analiza testów A/B, prezentacje dla stakeholderów

- Entry path: często najbardziej dostępna. Wielu analityków zaczyna bez dyplomu CS.


Data Scientist

- Focus: budowanie modeli predykcyjnych i odkrywanie wzorców w złożonych danych

- Tools: Python (pandas, scikit-learn, matplotlib), statystyka, SQL, Jupyter notebooks

- Dzień po dniu: EDA, inżynieria cech, budowanie modeli, eksperymentacja

- Ścieżka wejścia: zazwyczaj wymaga tła statystycznego lub ilościowego. Bootcampy i samokształcenie są możliwe.


Inżynier uczenia maszynowego

- Fokus: wdrażanie i skalowanie modeli w systemach produkcyjnych

- Narzędzia: Python, TensorFlow/PyTorch, Docker, platformy chmurowe (AWS/GCP), API

- Dzień po dniu: optymalizacja modeli, infrastruktura potoków, monitorowanie modeli produkcyjnych

- Ścieżka wejścia: zazwyczaj wymaga silnych umiejętności inżynierii oprogramowania oraz wiedzy z ML.


Budowanie portfolio

Menedżerowie zatrudniający zwracają uwagę na to, co potrafisz zrobić, a nie tylko na to, czego się uczyłeś. Portfolio zawierające 3-5 solidnych projektów na GitHubie jest ważniejsze niż certyfikaty. Dobre projekty wykorzystują realne (nie zabawki) zbiory danych, zawierają jasną dokumentację i pokazują pełny pipeline: od nieuporządkowanych danych do użytecznych wniosków.

Ścieżki kariery w Data Science

Twoje kolejne kroki

Dokąd iść dalej

Narzędzia pracy są darmowe i dostępne:

- pandas: standardowa biblioteka Pythona do manipulacji danych

- matplotlib / seaborn: biblioteki do wizualizacji

- scikit-learn: podstawowe narzędzie do klasycznego uczenia maszynowego

- Jupyter notebooks: interaktywne środowiska kodowania, w których można mieszać kod, wyniki i notatki

- Kaggle: darmowe zbiory danych, konkursy i społeczność praktyków

Zacznij od jednego realnego zbioru danych, który Cię interesuje. Pobierz go, wyczyść, przeanalizuj i spróbuj odpowiedzieć na pytanie. Ten pojedynczy projekt nauczy Cię więcej niż jakikolwiek kurs.

Na podstawie tego, czego nauczyłeś się w tej lekcji, które z trzech ról (analityk danych, data scientist lub inżynier ML) interesuje Cię najbardziej? Jaki jest jeden konkretny krok, który możesz podjąć w tym tygodniu, aby zacząć budować umiejętności dla tej roli?