
Data science to kierunek, w którym praca magisterska jest właściwie projektem badawczym z dużą warstwą techniczną. Masz dane, masz pytanie, masz model, i z tego musisz zrobić tekst naukowy, który komisja przeczyta i zrozumie. Nie tylko inżynier danych, ale też promotor z większym dystansem do technologii.
Maj to dobry moment, żeby przypomnieć, jak ta praca powinna być zorganizowana. Część studentów ma już wytrenowane modele i wyniki, a teraz musi to opisać. Promotor czeka na rozdziały. Obrona za 6 tygodni.
To moment, w którym wielu studentów zaczyna utykać. Notebook w Jupyter jest. Wykresy są. Ale jak to ubrać w pełnoprawną metodologię, która spełni standardy CRISP-DM i jednocześnie nie zanudzi recenzenta, to inna sprawa. Z mojej praktyki, prace z data science są często techniczne i kompetentne, ale słabo opisane. Wiele zdań typu „uruchomiono model XGBoost” bez wyjaśnienia, dlaczego akurat ten i z jakimi hiperparametrami.
Ten artykuł pomoże Ci to odwrócić. Pokażę, jak zaplanować pracę magisterską z data science, co musi znaleźć się w każdym rozdziale i na jakie pułapki uważać.
Wybór tematu i pytania badawcze
Data science daje ogromną swobodę tematyczną, od analiz predykcyjnych w marketingu po systemy rekomendacyjne, anomaly detection, analizę szeregów czasowych w finansach. To dobra wiadomość. Trudność polega na tym, że temat musi być zawężony do problemu, który da się zamodelować w skończonym czasie i na danych, do których faktycznie masz dostęp.
Obszary, które najlepiej sprawdzają się w pracach magisterskich z data science:
- Predykcja churn / odejść klientów, klasyczne zadanie binarnej klasyfikacji, dane z CRM lub publiczne (Telco Churn z Kaggle); dobry temat pod EDA, feature engineering i porównanie modeli
- Analiza szeregów czasowych, prognozowanie sprzedaży, energii, ruchu na stronie; ARIMA, Prophet, modele LSTM jako rozszerzenie
- Systemy rekomendacyjne, collaborative filtering (matrix factorization, ALS), content-based, hybrydy; dane MovieLens, Amazon reviews, Goodreads
- Anomaly detection, wykrywanie oszustw kartowych, anomalii w sieciach, defektów produkcyjnych; Isolation Forest, autoencoder
- NLP, analiza sentymentu lub klasyfikacja tekstów, opinie produktowe, tweety, recenzje filmowe; klasyczne TF-IDF + regresja logistyczna vs. embeddingi
- Analiza klastrowania klientów, segmentacja behawioralna (RFM), K-Means, DBSCAN, walidacja silhouette score
Pytanie badawcze powinno być sformułowane jako problem mierzalny. Nie: „Jak data science może pomóc w bankowości?”, ale: „Czy model XGBoost trenowany na danych transakcyjnych klientów banku XYZ pozwoli przewidzieć churn w horyzoncie 3 miesięcy z AUC powyżej 0.80?”
Jedno pytanie główne. Maksymalnie trzy szczegółowe hipotezy. Więcej to już doktorat, nie magistrka.
Metodologia pracy magisterskiej z data science
Metodologia w data science musi być tak opisana, żeby ktoś z tego samego datasetu mógł powtórzyć Twoje wyniki i dostać tę samą lub bardzo zbliżoną wartość metryki. To standard reprodukowalności, którego komisja oczekuje.
Framework, CRISP-DM
CRISP-DM (Cross-Industry Standard Process for Data Mining) to najpopularniejszy framework procesu data science. Sześć faz: Business Understanding, Data Understanding, Data Preparation, Modeling, Evaluation, Deployment. W magistrce stosujesz przynajmniej pięć pierwszych. Każda faza to osobny podrozdział lub sekcja w pracy.
Źródło danych, opis datasetu
Pochodzenie (Kaggle, link i ID datasetu, UCI ML Repository, własny scraping, dane firmowe, z anonimizacją), liczba rekordów, liczba zmiennych, typ zmiennych (numeryczne, kategoryczne, tekstowe, daty), data pobrania, licencja. Jeśli to dane firmowe, opisujesz proces anonimizacji (usunięcie PII, hashowanie identyfikatorów).
Exploratory Data Analysis (EDA)
Statystyki opisowe (średnia, mediana, odchylenie standardowe, kwartyle), rozkłady zmiennych (histogramy, box ploty), brakujące wartości (% NaN per kolumna), wartości odstające (IQR, Z-score), korelacje (Pearson dla numerycznych, Cramér’s V dla kategorycznych). Wszystko z wykresami, minimum 8-12 rycin EDA w pracy. Biblioteki: pandas, matplotlib, seaborn.
Preprocessing i feature engineering
Obsługa missing values (imputacja medianą, modą, KNN imputer, MICE), encoding zmiennych kategorycznych (one-hot, target encoding, ordinal), skalowanie (StandardScaler, MinMaxScaler, zawsze fit na train, transform na test), tworzenie nowych zmiennych (ratio features, interakcje, agregaty czasowe, binning). Każda transformacja udokumentowana w pipeline (sklearn.pipeline.Pipeline).
Podział danych
Train / validation / test split, standardowo 70/15/15 lub 80/10/10. Dla danych z czasem, split czasowy (najnowsze rekordy do testu), nie losowy. Podajesz seed (random_state=42) dla reprodukowalności. Stratyfikacja przy niezbalansowanych klasach (stratify=y).
Modelowanie
Baseline, zawsze. Logistic Regression, Decision Tree, prosty model bazowy dla zadania. Potem modele zaawansowane: Random Forest, XGBoost, LightGBM, ewentualnie CatBoost. Dla danych tabelarycznych, boosting to obecnie state-of-the-art. Dla problemów z obrazami lub tekstem, sieci neuronowe (TensorFlow, PyTorch). Każdy model trenowany na tym samym splicie, z tym samym preprocessingiem.
Walidacja krzyżowa i strojenie hiperparametrów
K-fold cross-validation (standardowo k=5 lub k=10), stratified dla klasyfikacji, time series split dla danych czasowych. Strojenie hiperparametrów: Grid Search dla małych przestrzeni, Random Search lub Bayesian Optimization (Optuna, Hyperopt) dla większych. Podajesz przeszukiwaną przestrzeń (dict z zakresami) i ostateczne wartości.
Metryki
Wybierane pod zadanie. Klasyfikacja binarna: accuracy, precision, recall, F1, ROC-AUC, PR-AUC (lepsze dla niezbalansowanych). Klasyfikacja wieloklasowa: macro/micro F1, confusion matrix. Regresja: RMSE, MAE, R², MAPE. Systemy rekomendacyjne: NDCG, MAP@K, Hit Rate. Zawsze raportujesz minimum 2-3 metryki, nie tylko jedną.
Środowisko techniczne
Python (wersja, 3.10 lub 3.11), biblioteki z wersjami (pandas==2.1.0, scikit-learn==1.3.0, xgboost==2.0.0), Jupyter Notebook lub JupyterLab. Plik requirements.txt lub environment.yml jako załącznik. Dla R, tidyverse, caret, mlr3, randomForest. Wersja R i sessionInfo() w załączniku.
Struktura i rozdziały
Praca magisterska z data science ma zazwyczaj 70-100 stron. Standardowa struktura:
1. Wstęp, kontekst biznesowy lub badawczy problemu, dlaczego data science jest właściwym podejściem, przegląd literatury (publikacje z Journal of Machine Learning Research, arXiv, konferencje NeurIPS, ICML, KDD).
2. Cel pracy i hipotezy, jasno sformułowane, maksymalnie 1 strona.
3. Przegląd literatury i state-of-the-art, co już zrobili inni dla podobnych problemów, jakie modele są standardem, jakie wyniki osiągają na podobnych datasetach.
4. Opis danych, pochodzenie, struktura, EDA z wykresami, problemy jakości danych.
5. Metodologia, CRISP-DM, preprocessing, feature engineering, modele, metryki, schemat walidacji.
6. Wyniki, tabele porównawcze modeli, wartości metryk na zbiorze testowym, ROC curves, confusion matrices, feature importance (SHAP values jako standard interpretacji).
7. Dyskusja, interpretacja wyników, porównanie z literaturą, ograniczenia (data leakage, bias, mały sample size), kierunki dalszych badań.
8. Wnioski, 5-8 punktów odpowiadających na hipotezy.
9. Literatura, minimum 40-50 pozycji, mix klasyki (Hastie, James, Géron) i aktualnych artykułów (max 5 lat).
Załączniki, kod (link do repozytorium GitHub jako absolutne minimum), requirements.txt, dodatkowe wykresy, fragmenty datasetu.
Wyślij fragment tekstu, bezpłatną wycenę otrzymasz w 24 h. Poprawki bez limitu w cenie usługi.
Najczęstsze błędy
- Brak baseline’u, od razu trenujesz XGBoost z 200 estymatorami. Komisja zapyta: „A jak działa zwykła regresja logistyczna?”. Bez baseline nie pokażesz, że Twój zaawansowany model rzeczywiście coś poprawia
- Data leakage, fit scalera na całym datasecie przed splitem, target encoding bez cross-validation, użycie zmiennych z przyszłości. To poważny błąd metodologiczny, który komisja wyłapuje
- Tylko accuracy przy niezbalansowanych klasach, przy 95% klasy 0 i 5% klasy 1 model „zawsze 0” ma accuracy 95% i 0 użyteczności. Zawsze raportujesz F1, AUC, recall
- Brak interpretacji modelu, komisja oczekuje, że pokażesz feature importance, SHAP values lub partial dependence plots. „Black box, działa” to nie jest poziom magistrki
- Notebook zamiast pipeline, kod w 47 komórkach Jupytera bez funkcji i klas. Komisja może poprosić o uruchomienie kodu, wtedy zobaczy chaos. Refaktoryzuj do skryptów
.pylub przynajmniej do funkcji - Brak seedów, wyniki nie są reprodukowalne. Każda losowość (
random_state,seed,torch.manual_seed) musi być ustawiona - Hiperparametry „domyślne” bez tuningu, to akceptowalne dla baseline’u, nie dla głównego modelu. Pokaż, że stroiłeś, podaj zakresy przeszukiwania
- Słaba dyskusja ograniczeń, model osiągnął AUC 0.85, i co? Czy to dużo? Czy działa na nowych danych? Czy jest fair pod kątem grup demograficznych? Te pytania komisja zada
- Brak walidacji na holdout, wszystko liczysz na cross-validation, nie pokazujesz wyniku na zbiorze testowym. To podstawowy błąd
- Wzory z Wikipedii bez sensu, wstawiasz wzór entropii albo loss function, którego nie tłumaczysz. Wzory tylko wtedy, gdy odnosisz się do nich w tekście
FAQ
Czy mogę pisać pracę magisterską z data science na publicznym datasecie z Kaggle?
Tak, to jest standard i komisja to akceptuje. Warunek: piszesz wprost, skąd dane (link, ID, licencja) i pokazujesz wartość dodaną, własną EDA, własne feature engineering, porównanie kilku modeli, własną interpretację. Praca, w której kopiujesz notebook z Kaggle i tłumaczysz na polski, to plagiat. Ale praca, w której Titanic czy Telco Churn jest punktem startowym dla Twojej własnej analizy, jak najbardziej.
Czy muszę używać deep learningu, żeby praca była „poważna”?
Nie. Dla danych tabelarycznych XGBoost lub LightGBM często bije sieci neuronowe i to jest fakt znany branży. Deep learning ma sens dla obrazów (CNN), tekstu (Transformer), audio. Dla 50 000 wierszy w CSV, boosting jest lepszym wyborem. Komisja docenia rozsądny dobór modelu, nie modę.
Jak pokazać kod w pracy magisterskiej?
Krótkie fragmenty (5-15 linii) w tekście pracy w formatowaniu monospace, opisane czego dotyczą. Cały kod, w repozytorium GitHub, link w pracy. Notebook z głównymi analizami jako załącznik PDF (jupyter nbconvert do PDF). Komisja nie czyta 2000 linii Pythona w pracy magisterskiej, ale chce mieć dostęp i móc sprawdzić.
Czy musi być deployment, REST API, Docker?
Nie musi, ale to plus. CRISP-DM zakłada fazę Deployment, jeśli pokażesz prosty model serving (Flask/FastAPI endpoint, Docker container, ewentualnie Streamlit demo), komisja to docenia. To pokazuje, że rozumiesz pełen cykl, nie tylko trening modelu w notebooku.
Jak udokumentować eksperymenty, żeby nie zgubić wyników?
Standard branżowy to MLflow, Weights & Biases lub DVC. Każdy run zapisany z hiperparametrami, metrykami, artifactami (modele, wykresy). Nawet prosty plik CSV z kolumnami: data, model, parametry, metryka val, metryka test, czas trenowania, wystarcza w pracy magisterskiej. Bez tego po 30 eksperymentach nie wiesz, który był najlepszy i dlaczego.
Podsumowanie
Praca magisterska z data science jest tak dobra jak jej najsłabszy etap CRISP-DM. Możesz mieć świetny model, ale jeśli EDA jest zdawkowa albo dyskusja nie pokazuje, że rozumiesz wyniki, komisja to wyłapie. Z drugiej strony, porządny baseline, jasna metodologia i uczciwa interpretacja często ważą więcej niż egzotyczny model.
Jeśli zbliżasz się do obrony i chcesz mieć pewność, że praca jest gotowa, zapraszam na dobrzenapisane.pl. Koretuję prace techniczne regularnie, sprawdzam język, spójność opisów modeli, zapis wzorów i nazw bibliotek, podpisy pod rycinami i tabelami. Napisz, odpiszę w ciągu 24 godzin.
Dowiedz się więcej
- McKinney, W. (2022). Python for Data Analysis (3rd ed.). O’Reilly Media
- Géron, A. (2022). Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow (3rd ed.). O’Reilly Media
- Han, J., Kamber, M., Pei, J. (2011). Data Mining: Concepts and Techniques (3rd ed.). Morgan Kaufmann
- Wickham, H., Grolemund, G. (2017). R for Data Science. O’Reilly Media
- Kaggle, datasety i notebooks: https://www.kaggle.com
- CRISP-DM Reference Guide: https://www.datascience-pm.com/crisp-dm-2/
Inne artykuły na blogu:
– Jak znaleźć literaturę do pracy dyplomowej
– Metodologia pracy magisterskiej, od czego zacząć
– Korekta pracy magisterskiej, co obejmuje i ile kosztuje


