Author: Taha El Amine Kassabi
Course: Data Science II (WS 2024/25)
Instructor: Dr. Konrad VΓΆlkel
University: Heinrich Heine University DΓΌsseldorf (HHU)
This repository collects my solutions to assignments from the Data Science II course at HHU.
The focus is on large-scale data processing, probabilistic algorithms, and scalable clustering techniques.
Solutions were developed in Python, leveraging tools like MRJob, NumPy, Scikit-learn, and NetworkX.
Solutions/
βββ Blatt 01 β Sparse matrix multiplication with MRJob
βββ Blatt 02 β Jaccard similarity, shingling
βββ Blatt 03 β MinHash, LSH, Enron mail similarity
βββ Blatt 04 β LSH query engine, performance experiments
βββ Blatt 05 β Bloom filters, Flajolet-Martin sketching
βββ Blatt 06 β Graph loading, PageRank (Google web graph)
βββ Blatt 07 β Wikipedia graph, spectral ranking
βββ Blatt 08 β Graph streaming analysis
βββ Blatt 09 β GMM clustering (NYC Taxi data)
βββ Blatt 10 β BFR clustering
βββ requirements.txt
| Blatt | Algorithms / Methods | Dataset |
|---|---|---|
| 01 | Sparse matrix multiplication, MapReduce | Synthetic |
| 02 | Jaccard similarity, shingles | Kijiji Rome rentals |
| 03 | MinHash signatures, LSH buckets | Enron email dataset |
| 04 | Query tuning, LSH runtime evaluation | Enron email dataset |
| 05 | Bloom filter, hash functions, Flajolet-Martin sketch | Synthetic streams |
| 06 | PageRank, NetworkX, power iteration | Google WebGraph (snap.stanford) |
| 07 | Spectral ranking, eigenvectors | Wikipedia page graph |
| 08 | Graph streaming, custom sketching | Wikipedia edge stream |
| 09 | Gaussian Mixture Models, EM | NYC Taxi 2023 subset |
| 10 | BFR clustering, large-scale partitioning | NYC Taxi 2023 subset |
pip install -r requirements.txt# Jupyter notebooks:
cd Solutions/Blatt\ 05
jupyter lab
# Standalone Python scripts:
python Solutions/Blatt09/bfr_clustering.py- MapReduce implementations use MRJob.
- Graph tasks rely on NetworkX; large datasets preprocessed to sparse format.
- Clustering solutions benchmark BFR against GMM (with covariance comparison).
- All implementations written from scratch. LLMs were used for research/reference only.