
Praca magisterska z analityki biznesowej lub data science to projekt badawczy, w którym eksperyment jest jednocześnie treścią i dowodem. Nie piszesz o modelach – budujesz model, waliduje go i opisujesz co z tego wynika. To zupełnie inny rodzaj pracy niż klasyczna humanistyczna rozprawa, gdzie literatura dominuje nad własnymi wynikami.
Promotorzy z tych kierunków mają konkretne oczekiwania: chcą widzieć kod (albo przynajmniej pseudokod), metadane zbiorów danych, wyniki na hold-out secie, a nie tylko na danych treningowych. Widzę w swojej pracy, że studenci najczęściej potykają się nie o teorię, lecz o trzy rzeczy: data leakage, brak baseline i zbyt wąski opis metodyki. O każdym z tych błędów piszę dalej.
Dobra wiadomość: jeśli masz już dane i sensowne pytanie badawcze, struktura tej pracy niemal narzuca się sama. Metoda CRISP-DM, która od lat obowiązuje w branży, jest jednocześnie świetnym szkieletem rozdziałów. Poniżej krok po kroku pokazuję, jak z niej skorzystać i czego unikać po drodze.
Specyfika kierunku i typy prac
Analityka biznesowa i data science to pojęcia bliskoznaczne, ale różnią się akcentem. W analityce biznesowej chodzi o decyzje: praca ma odpowiadać na pytanie „co powinien zrobić biznes?”. W data science nacisk pada na metodykę: jak zbudowałeś model, jak go wytrenowałeś, jak zmierzyłeś skuteczność.
Większość uczelni przyjmuje kilka typów prac na tych kierunkach:
- Prace empiryczne z własnym modelem ML (klasyfikacja, regresja, clustering, NLP)
- Prace projektowe z implementacją systemu BI (dashboard, hurtownia danych, ETL)
- Prace analityczne oparte na publicznie dostępnych danych (Kaggle, GUS, API zewnętrzne)
- Prace porównawcze (benchmarking algorytmów na tym samym zbiorze)
Typ pracy decyduje o tym, co powinien zawierać rozdział metodologiczny. W pracy z modelem ML musisz opisać train/test split, walidację krzyżową i metryki oceny. W pracy projektowej BI ważniejsza jest architektura systemu i uzasadnienie wyboru narzędzi.
Wybór tematu
Temat musi pozwolić na konkretne pytanie badawcze – takie, na które da się odpowiedzieć liczbami. „Analiza sentymentu recenzji produktów spożywczych” to temat. „Czy analiza sentymentu poprawia predykcję zwrotów?” to pytanie badawcze. To różnica, która decyduje o tym, czy praca ma jasny wniosek.
Business Intelligence: dashboardy, hurtownie danych, ETL, raportowanie
Prace z zakresu BI skupiają się na architekturze i użyteczności systemu raportowego. Temat może dotyczyć budowy hurtowni danych (np. w modelu gwiaździstym lub płatka śniegu), projektowania procesu ETL, który integruje dane z kilku źródeł, albo oceny efektywności dashboardu w Power BI czy Tableau pod kątem wspomagania decyzji menedżerskich.
W rozdziale metodologicznym opisujesz wybory architektoniczne: dlaczego ETL, a nie ELT, dlaczego PostgreSQL, a nie Snowflake, jak zorganizowałeś warstwy danych (bronze/silver/gold albo staging/core/mart). To prace, w których promotor oczekuje schematu architektury, diagramu ER i przykładowych zapytań DAX lub SQL.
Data Science: modele predykcyjne, klasyfikacja, clustering, NLP, computer vision
To najczęstszy typ pracy na kierunkach DS. Masz zbiór danych, stawiasz hipotezę („model XGBoost przewyższy regresję logistyczną w predykcji churnu klientów bankowych”), trenujesz kilka modeli, porównujesz wyniki na hold-out secie. Wniosek potwierdza lub obala hipotezę – i to jest wartość naukowa pracy.
W pracach NLP temat może dotyczyć klasyfikacji tekstu, ekstrakcji encji, analizy sentymentu albo pytań i odpowiedzi. W polskojęzycznych korpusach sięgasz po HerBERT lub Herbert-large (warianty BERT trenowane na polskim). W computer vision – ResNet, EfficientNet albo własna architektura CNN z transfer learningiem.
Business Analytics: prognozowanie popytu, optymalizacja, A/B testing
Prace z business analytics łączą metody statystyczne z kontekstem biznesowym. Klasyczny temat to prognozowanie popytu: masz dane sprzedażowe z kilku lat, stosujesz modele szeregów czasowych (ARIMA, Prophet, LSTM), porównujesz RMSE i MAE, wyciągasz wnioski dla działu planowania.
A/B testing jako temat pracy wymaga rzetelnego opisu metodyki eksperymentu: jak randomizowałeś grupę kontrolną i testową, jaki był size effect, jak liczyłeś minimalną liczbę obserwacji potrzebną do osiągnięcia 80% mocy statystycznej. Bez tego sekcja metodologiczna jest niepełna.
Big Data: architektura (Hadoop, Spark), streaming (Kafka), cloud (AWS, GCP, Azure)
Prace z Big Data skupiają się na skalowalności. Tu pytanie badawcze brzmi: „jak przetworzyć dane, których nie zmieścisz w pamięci jednej maszyny?” lub „jak skrócić czas przetwarzania z 8 godzin do 20 minut?”. Opisujesz architekturę: klaster Spark na YARN albo Kubernetes, Kafka jako message broker do data streamingu, Delta Lake jako format przechowywania.
Jeśli nie masz dostępu do fizycznego klastra, możesz użyć Google Colab z Spark lokalnie albo opisać projekt zrealizowany w chmurze (AWS EMR, GCP Dataproc). Koszt i wydajność to w takich pracach naturalne metryki oceny.
Teorie i metodyki
CRISP-DM (Cross Industry Standard Process for Data Mining): business understanding, data understanding, data preparation, modeling, evaluation, deployment
CRISP-DM to 6-fazowy cykl, który w branży jest standardem od końca lat 90. W pracy magisterskiej ta metodyka daje gotowy szkielet rozdziałów.
Faza 1 (business understanding) to Twoje pytanie badawcze i kontekst biznesowy – dlaczego ten problem, dla kogo, co zrobi firma z wynikami. Faza 2 (data understanding) to eksploracyjna analiza danych: rozkłady, korelacje, wartości brakujące, pierwsze wykresy. Faza 3 (data preparation) – feature engineering, imputacja, encoding, skalowanie. Faza 4 (modeling) to trening modeli z doborem hiperparametrów. Faza 5 (evaluation) to ocena na hold-out secie i interpretacja. Faza 6 (deployment) – opcjonalna w pracy akademickiej, ale możesz opisać, jak model trafiłby do produkcji (API, MLflow, konteneryzacja).
Powołanie się na CRISP-DM jako metodykę badań to sygnał dla promotora, że wiesz, co robisz. Cytuj: Chapman et al. (2000) albo nowsze opracowania z Towards Data Science czy podręczniki.
Metodologia eksperymentu: A/B testing, randomizacja, wielokrotne porównania
Jeśli praca obejmuje eksperyment (np. testowanie różnych wersji modelu na różnych grupach użytkowników), musisz opisać plan eksperymentu. Randomizacja oznacza, że każda obserwacja trafia do grupy niezależnie od cech – bez randomizacji masz selekcję, nie eksperyment.
Przy wielokrotnych porównaniach (testujesz 10 hiperparametrów, każdy na poziomie alfa=0,05) musisz zastosować korektę: Bonferroniego lub Benjaminiego-Hochberga (FDR). Bez korekty twoja wartość p jest zawyżona i promotor ma prawo zakwestionować wnioski.
Teoria próbkowania i reprezentatywności
Skąd wziąłeś dane? Czy próbka jest reprezentatywna dla populacji, do której chcesz uogólniać wyniki? To pytania, które pojawiają się na każdej obronie. Jeśli trenujesz model na danych z jednego banku, nie możesz mówić, że model działa dla „polskiego sektora bankowego”.
Opisz: skąd dane, za jaki okres, ile obserwacji, jak wyglądała próba (przypadkowa, warstwowa, wygodna). Przy niezbalansowanych klasach (np. 95% negatywnych vs 5% pozytywnych w detekcji fraudów) opisz strategię: oversampling (SMOTE), undersampling, class_weight=’balanced’ w scikit-learn.
Interpretability: SHAP (SHapley Additive exPlanations), LIME, Grad-CAM
Modele „czarne skrzynki” (random forest, XGBoost, sieci neuronowe) dają dobre wyniki, ale trudno z nich wyciągnąć wniosek biznesowy. Metody interpretowalności to odpowiedź na pytanie: „dlaczego model tak zdecydował?”
SHAP (SHapley Additive exPlanations) dzieli wkład każdej cechy w prognozę zgodnie z teorią gier (wartości Shapleya). Obliczasz je w Pythonie biblioteką shap: explainer = shap.TreeExplainer(model); shap_values = explainer.shap_values(X_test). Wykres SHAP summary plot pokazuje, które cechy mają największy wpływ na model globalnie; SHAP force plot tłumaczy pojedynczą prognozę.
LIME (Local Interpretable Model-agnostic Explanations) działa inaczej: dla konkretnej obserwacji trenuje lokalny model liniowy w jej sąsiedztwie i pokazuje, które cechy pchnęły prognozę w danym kierunku. Grad-CAM jest metodą dla sieci konwolucyjnych: wizualizuje, które piksele obrazu aktywowały sieć przy konkretnej klasyfikacji.
Wyślij fragment tekstu, bezpłatną wycenę otrzymasz w 24 h. Poprawki bez limitu w cenie usługi.
Metodologia badań
Eksploracyjna analiza danych (EDA)
EDA to pierwszy kontakt z danymi – zanim zbudujesz model, musisz wiedzieć, z czym pracujesz. Standardowy zestaw: rozkłady zmiennych (histogramy, boxploty), macierz korelacji (Pearson dla zmiennych numerycznych, Spearman dla porządkowych), heatmapa wartości brakujących, wykresy scatter dla par zmiennych.
Wartości odstające (outliers) możesz identyfikować metodą IQR (obserwacja jest outlierem, jeśli leży poniżej Q1-1,5IQR lub powyżej Q3+1,5IQR) albo z-score (|z|>3). Ważne: outliers nie zawsze trzeba usuwać. W detekcji fraudów outlier jest tym, czego szukasz.
Przygotowanie danych: feature engineering, encoding, skalowanie, imputacja
Feature engineering to tworzenie nowych zmiennych z istniejących. Przykłady: z daty wyciągasz dzień tygodnia i miesiąc, z adresu e-mail domena, z czasu transakcji godzina dnia. Każda nowa cecha powinna mieć uzasadnienie biznesowe.
Zmienne kategoryczne koduj zależnie od kontekstu. One-hot encoding (pd.get_dummies) działa dla zmiennych nominalnych z małą liczbą kategorii. Target encoding (średnia zmiennej celu dla każdej kategorii) sprawdza się przy wysokiej kardynalności, ale wymaga ostrożności – ryzyko data leakage, stosuj go tylko na danych treningowych i przenoś mapping na testowe.
Skalowanie: StandardScaler (mean=0, std=1) dla algorytmów opartych na odległości (SVM, KNN, PCA), MinMaxScaler (zakres [0,1]) dla sieci neuronowych. Drzewa decyzyjne i las losowy nie wymagają skalowania – warto to napisać, bo pokazuje rozumienie algorytmów.
Imputacja brakujących wartości: dla zmiennych numerycznych mediana (odporniejsza na outliers niż średnia), dla kategorycznych moda albo osobna kategoria „brakujący”. Zaawansowane metody: KNN imputer (imputes na podstawie k najbliższych sąsiadów) albo MICE (Multiple Imputation by Chained Equations, implementacja w scikit-learn jako IterativeImputer).
Modele ML nadzorowane
Regresja liniowa z regularyzacją: Ridge (L2, karze za duże współczynniki), Lasso (L1, zeruje nieistotne cechy – działa jak selekcja zmiennych), ElasticNet (kombinacja L1+L2). Dobierasz parametr alpha przez cross-walidację.
Klasyfikacja: regresja logistyczna to dobry baseline – szybka, interpretowalna, daje kalibrowane prawdopodobieństwa. Random forest to ensemble drzew z baggingiem; XGBoost i LightGBM to boosting gradientowy, który na tabelarycznych danych często wygrywa konkurencje na Kaggle. SVM działa dobrze przy wysokiej wymiarowości (np. TF-IDF), ale długo się trenuje na dużych zbiorach.
Sieci neuronowe: dla danych tabelarycznych MLP (wielowarstwowa sieć gęsta) rzadko bije XGBoost, ale w NLP i computer vision są standardem. Opisz architekturę: liczba warstw, liczba neuronów, funkcje aktywacji (ReLU, sigmoid, softmax), regularyzacja (dropout, batch normalization), optymalizator (Adam, SGD z momentum).
Modele nienadzorowane
K-means wymaga podania liczby klastrów k z góry. Dobierasz k metodą łokcia (wykres inercji dla k=2..15) lub indeksem sylwetki (silhouette score). DBSCAN nie wymaga k, ale potrzebuje parametrów eps i min_samples – świetnie radzi sobie z klastrami o nieregularnym kształcie i identyfikuje szum.
Redukcja wymiarowości: PCA (Principal Component Analysis) liniowa, t-SNE i UMAP nieliniowe, lepsze do wizualizacji wysokowymiarowych danych (embeddingi, obrazy). UMAP jest szybszy od t-SNE i zachowuje globalną strukturę danych.
Ocena modeli
Dla klasyfikacji: accuracy to zły wskaźnik przy niezbalansowanych klasach. Używaj precision, recall i F1 (średnia harmoniczna precision i recall). AUC-ROC mierzy zdolność modelu do rozróżniania klas niezależnie od progu decyzyjnego – wartość 0,5 to losowanie, 1,0 to perfekcja.
Dla regresji: RMSE (Root Mean Squared Error) penalizuje duże błędy mocniej, MAE (Mean Absolute Error) jest odporniejszy na outliers. R2 mówi, jaki procent wariancji zmiennej celu wyjaśnia model.
Cross-walidacja k-fold (zazwyczaj k=5 lub k=10) daje rzetelniejszą ocenę niż pojedynczy train/test split. Przy niezbalansowanych klasach używaj stratified k-fold, który zachowuje proporcje klas w każdym foldzie. Wyniki podaj jako srednia +/- odchylenie standardowe.
Optymalizacja hiperparametrów
Grid Search sprawdza wszystkie kombinacje siatki parametrów – wyczerpujące, ale kosztowne obliczeniowo. Random Search losuje kombinacje – przy dużej przestrzeni hiperparametrów często daje podobne wyniki 10x szybciej (Bergstra & Bengio, 2012).
Bayesian optimization (Optuna, Hyperopt) uczy się, które hiperparametry są obiecujące i kieruje poszukiwania w ich stronę. To najefektywniejsza metoda przy drogich obliczeniowo modelach. W Optunie definiujesz obiektywę (funkcję, którą minimalizujesz, np. walidacyjny RMSE) i przestrzeń poszukiwań, a biblioteka zarządza próbkowaniem.
NLP: od TF-IDF do transformerów
Tokenizacja to podział tekstu na tokeny (słowa, podpoczątkowe jednostki). TF-IDF (Term Frequency-Inverse Document Frequency) to klasyczna reprezentacja: ważność słowa rośnie z częstością w dokumencie i maleje z częstością w korpusie.
Word2vec i GloVe to gęste wektory słów (embeddingi) trenowane na dużych korpusach – każde słowo ma swój wektor w przestrzeni 100-300 wymiarów, gdzie słowa o podobnym znaczeniu leżą blisko siebie. Transformery (BERT, RoBERTa) przetwarzają całe zdania jednocześnie i uwzględniają kontekst. Do polskiego tekstu sięgaj po HerBERT (Allegro) albo herbert-base-cased – oba są dostępne przez Hugging Face Transformers.
Narzędzia i środowiska
Python: scikit-learn, pandas, NumPy, matplotlib/seaborn, Plotly, PyTorch/TensorFlow, Hugging Face
Scikit-learn to fundament: Pipeline łączy preprocessing i model w jeden obiekt, dzięki czemu nie ma ryzyka data leakage (transformacje są fitowane tylko na danych treningowych). Pandas do manipulacji danych tabelarycznych, NumPy do operacji macierzowych.
Do wizualizacji: matplotlib i seaborn dla statycznych wykresów (rozkłady, heatmapy korelacji, krzywe ROC), Plotly dla interaktywnych dashboardów, które możesz osadzić w pracy albo pokazać na obronie. PyTorch lub TensorFlow do głębokiego uczenia. Hugging Face Transformers do gotowych modeli językowych – kilka linii kodu i masz działający BERT.
R: tidyverse, caret, tidymodels, ggplot2
R ma silną pozycję w analizie statystycznej i biostatkach. Tidyverse to ekosystem pakietów do tidy data (ggplot2, dplyr, tidyr, purrr). Tidymodels to odpowiednik scikit-learn dla R: jednolity interfejs do trenowania, walidacji i tuningu modeli. Caret (Classification and Regression Training) to starszy, ale nadal szeroko używany framework.
SQL i bazy danych
SQL to podstawa pracy z danymi tabelarycznymi. PostgreSQL jako open-source baza relacyjna, BigQuery (Google) i Snowflake jako magazyny danych chmurowych z SQL-owym interfejsem. Jeśli Twoja praca dotyczy analizy danych firmowych, najprawdopodobniej zaczynasz od zapytania SQL, a nie od CSV.
Wizualizacja BI: Power BI (DAX), Tableau, Metabase
Power BI to standard w polskich firmach. DAX (Data Analysis Expressions) to język formuł dla miar i kolumn obliczeniowych. W pracy opisujesz model danych (tabele faktów, tabele wymiarów, relacje), miary DAX i sposób zaprojektowania dashboardu pod kątem użyteczności.
MLOps: MLflow, Weights & Biases, DVC
MLflow śledzi eksperymenty: dla każdego uruchomienia modelu rejestruje parametry, metryki i artefakty (pliki modelu). Weights & Biases oferuje podobne funkcje z lepszym UI. DVC (Data Version Control) wersjonuje dane i modele razem z kodem Git. W pracy na poziomie magisterskim wystarczy opisać, że używałeś MLflow do śledzenia eksperymentów i podać zrzuty ekranu z logu.
Dane i źródła
Publiczne zbiory: Kaggle, UCI ML Repository, data.gov.pl, GUS mikrodata
Kaggle to największe repozytorium zbiorów danych z gotowymi notebookami i opisem. UCI ML Repository to klasyka – setki benchmarkowych zbiorów od lat 80. do dziś. Data.gov.pl zawiera otwarte dane publiczne z polskich urzędów i instytucji. GUS udostępnia mikrodata (anonimizowane dane indywidualne z badań statystycznych) po złożeniu wniosku.
Przy opisie danych zawsze podaj: źródło, datę pobrania, liczbę obserwacji, liczbę zmiennych, typ (cross-section, panel, szereg czasowy), ograniczenia (brak reprezentatywności, selekcja, brakujące wartości).
API: REST API, OpenAI API, Google Analytics API
Dane możesz pobrać przez API – np. Twitter/X API do analizy sentymentu mediów społecznościowych, Google Analytics Data API do analizy ruchu na stronie, OpenAI API do generowania danych syntetycznych (opisz to metodologicznie jako augmentację). REST API zwraca zazwyczaj JSON; w Pythonie obsługujesz go przez bibliotekę requests i parsując response.json().
Struktura pracy magisterskiej z data science
Typowa struktura (ok. 80-100 stron):
- Wstęp (3-5 str.) – pytanie badawcze, hipoteza, uzasadnienie, cel pracy, struktura rozdziałów
- Przegląd literatury (15-20 str.) – stan wiedzy, podobne badania, luki, które wypełnia Twoja praca
- Metodyka (20-25 str.) – opis CRISP-DM w Twoim projekcie, dane, preprocessing, modele, metryki
- Wyniki (20-25 str.) – EDA (wykresy, statystyki opisowe), wyniki modeli, porównanie, interpretowalność (SHAP)
- Dyskusja (10-15 str.) – co wyniki znaczą, ograniczenia, co zrobiłbyś inaczej, implikacje biznesowe
- Zakończenie (2-3 str.) – synteza, wnioski, kierunki dalszych badań
- Bibliografia
- Załączniki – kod (Jupyter Notebook lub GitHub link), dodatkowe tabele i wykresy
Kod dołącz jako załącznik lub link do publicznego repozytorium GitHub. Promotorzy coraz częściej tego wymagają, bo bez kodu nie da się zreplikować wyników.
Typowe błędy
Data leakage (używanie przyszłych danych do treningu)
Data leakage to jeden z najpoważniejszych błędów metodologicznych. Pojawia się, gdy informacja z danych testowych „przeniknęła” do treningu. Klasyczny przykład: skalujesz całe dane (StandardScaler) przed podziałem na train/test. Scaler jest fittowany na test secie i „zna” jego statystyki – model jest nieświadomie dostrojony do danych testowych.
Rozwiązanie: zawsze najpierw podziel dane na train i test (np. sklearn train_test_split), potem fittuj wszystkie transformacje (scaler, encoder, imputer) tylko na train secie, a na test stosuj transform(). W scikit-learn Pipeline robi to automatycznie.
Inny rodzaj leakage: target encoding fittowany na całym zbiorze przed podziałem, albo cecha, która bezpośrednio koduje zmienną celu (np. „czy klient zwrócił produkt” jako cecha w modelu predykcji zwrotów).
Brak baseline’u (porównanie z prostym modelem)
Jeśli trenujesz XGBoost i osiągasz AUC-ROC 0,82, nie wiesz, czy to dobry wynik bez porównania. Baseline to najprostszy możliwy model: dla klasyfikacji – przewidywanie zawsze klasy większościowej albo regresja logistyczna, dla regresji – przewidywanie zawsze średniej zmiennej celu.
Wyniki modelu interpretuje się względem baseline. XGBoost z AUC-ROC 0,82 vs logistic regression z AUC-ROC 0,79 to relatywnie skromna poprawa. XGBoost z AUC-ROC 0,82 vs baseline 0,55 to już znacząca.
Overfitting bez walidacji na hold-out set
Overfitting (przeuczenie) to sytuacja, gdy model doskonale radzi sobie z danymi treningowymi, ale słabo generalizuje na nowych danych. Objawy: wysoka dokładność na treningu, niska na teście.
Rozwiązanie: wydziel hold-out set (np. 20% danych) na samym początku i nie dotykaj go aż do ostatecznej oceny. Cross-walidacja na pozostałych 80% służy do tuningu i selekcji modelu. Hold-out set oceniasz raz – na końcu. Wielokrotne ocenianie na hold-out secie i wybieranie lepszego modelu to ponownie forma data leakage.
FAQ – Najczęstsze pytania
Jak dobierać metryki oceny modelu do problemu biznesowego?
Accuracy sprawdza się tylko przy zbalansowanych klasach. Przy detekcji fraudów (1% przypadków pozytywnych) model przewidujący zawsze „brak fraudu” ma accuracy 99%, ale jest bezużyteczny. Używaj wtedy F1, precision-recall AUC albo kosztu błędu (koszt false negative vs false positive).
Przy asymetrycznych kosztach błędów definiujesz macierz kosztów: ile kosztuje false positive (klient niesłusznie zablokowany), ile false negative (fraud przepuszczony). Threshold decyzyjny dopasowujesz tak, żeby minimalizować całkowity koszt, a nie maksymalizować accuracy.
Czy praca z data science musi zawierać dane firmowe?
Nie. Publiczne zbiory (Kaggle, UCI, GUS, dane API) są w pełni akceptowalne. Dane firmowe (z praktyki w firmie, zlecenia zewnętrznego) dają przewagę jakościową: realny problem biznesowy i dane, które promotorzy rzadko widzieli. Jeśli korzystasz z danych firmowych, sprawdź kwestie NDA i anonimizacji przed oddaniem pracy do biblioteki uczelni.
Jak interpretować wyniki SHAP?
Wykres SHAP summary plot ustawia cechy od najważniejszej do najmniej ważnej (oś Y), a wartości SHAP na osi X mówią, w jakim stopniu cecha pchnęła prognozę w górę (dodatni SHAP) lub w dół (ujemny SHAP). Kolor punktu koduje wartość cechy (czerwony = wysoka, niebieski = niska).
Przykład interpretacji: „Zmienna 'wiek klienta’ ma dodatni SHAP dla starszych klientów, co oznacza, że model przypisuje im wyższe ryzyko churnu”. Tę interpretację piszesz w rozdziale wyniki, po wykresie SHAP summary plot i ewentualnie SHAP waterfall dla konkretnej obserwacji.
Czym różni się analityka biznesowa od data science?
Analityka biznesowa skupia się na opisie i wyjaśnieniu: co się stało, dlaczego, co wynika z danych dla decyzji biznesowej. Używa głównie metod statystycznych, SQL, BI i raportowania. Data science dodaje predykcję: co się stanie, budując modele ML i algorytmy automatyzujące decyzje.
W praktyce granica zaciera się. Analityk biznesowy coraz częściej zna Pythona i sklearn, a data scientist musi rozumieć kontekst biznesowy, żeby pytanie badawcze miało sens. Wybierając temat pracy, skonsultuj się z promotorem, jak kierunek definiuje oba pojęcia.
Wymagania formalne i obrona
Każda uczelnia ma własny regulamin, ale typowe wymagania obejmują: praca pisana w LaTeX lub Wordzie, czcionka Times New Roman lub Arial 12pt, interlinia 1,5, marginesy 2,5 cm z każdej strony, numerowanie stron od wstępu. Objętość: 60-100 stron (bez załączników).
Na obronie spodziewaj się pytań z trzech obszarów. Po pierwsze, pytania o metodykę: dlaczego wybrałeś XGBoost, a nie Random Forest? Co zrobiłeś z niezbalansowanymi klasami? Jak eliminowałeś ryzyko data leakage? Po drugie, pytania o wyniki: co oznacza AUC-ROC 0,84 w kontekście Twojego problemu? Skąd wiesz, że model nie jest przeuczony? Po trzecie, pytania o ograniczenia i implikacje: co zrobiłbyś inaczej? Jak można ten model wdrożyć w praktyce?
Przygotuj prezentację (8-12 slajdów), która zawiera: pytanie badawcze, dane i ich źródło, schemat metodyki (najlepiej jako diagram), główne wyniki (tabela porównawcza modeli + jeden wykres SHAP), wnioski i ograniczenia. Na obronie mówisz językiem biznesowym: „model poprawia wykrywalność churnu o X punktów procentowych”, a nie „AUC-ROC wzrósł z 0,79 do 0,82”.
Kod i Jupyter Notebooks dołącz do pracy jako załącznik albo link do publicznego repozytorium GitHub – coraz więcej promotorów tego wymaga i jest to dowód, że wyniki są replikowalne. Jeśli w kodzie są dane wrażliwe (dane firmowe, dane osobowe), anonimizuj je przed publikacją albo udostępnij tylko promotorowi.


