# carolinapercina62/ml_dsaa_practicals architecture

> Architecture diagram of the GitHub repository carolinapercina62/ml_dsaa_practicals, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/carolinapercina62/ml_dsaa_practicals
- Repository: https://github.com/carolinapercina62/ml_dsaa_practicals

## Overview

This repository is a set of DSAA machine-learning practicals: students work through weekly Jupyter notebooks, with separately released solutions. The learning path moves from supervised-learning foundations and an ML process through data-quality exploration, feature work, performance measures and model selection; classification and regression are taught in parallel where indicated. Week 3 cleans raw datasets and records decisions for later weeks, which use the supplied interim data and logs. The graph reflects README-described capabilities; notebook internals beyond the sampled helper and preprocessing code are not inferred.

Main entry points: [`notebooks/week_03/week_03_deepen_exploration.ipynb`](https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/notebooks/week_03/week_03_deepen_exploration.ipynb) (Data exploration), [`notebooks/week_03/week_03_deepen_exploration_regression.ipynb`](https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/notebooks/week_03/week_03_deepen_exploration_regression.ipynb) (Price regression), [`logs`](https://github.com/carolinapercina62/ml_dsaa_practicals/tree/main/logs) (Cleaning logs), [`notebooks/week_05/week_05_model_selection.ipynb`](https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/notebooks/week_05/week_05_model_selection.ipynb) (Model selection)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_course["Course materials"]
  node_helpers["Cleaning log tools<br/>[course_helpers.py]"]
  node_preprocessing["Preprocessing tools<br/>[preprocessing.py]"]
  node_project["Course project"]
end

subgraph group_practice["Practical notebooks"]
  node_week1["Supervised ML"]
  node_week2["ML process"]
  node_week3class["Data exploration"]
  node_week3reg["Price regression"]
  node_week4class["Feature work"]
  node_week4reg["Regression features"]
  node_week5measures["Performance measures"]
  node_week5selection["Model selection"]
end

subgraph group_data["Datasets and logs"]
  node_rawcars["Raw cars data<br/>[cars4you_raw.csv]"]
  node_rawchampions["Raw champions data<br/>[champions_raw.csv]"]
  node_interimcars["Cleaned cars data<br/>[cars4you.csv]"]
  node_interimchampions["Cleaned champions data<br/>[champions.csv]"]
  node_cleanlogs["Cleaning logs"]
  node_featurelogs["Feature logs"]
end

subgraph group_solutions["Released solutions"]
  node_solution1["Week 1 solution"]
  node_solution2["Week 2 solution"]
  node_solution3class["Exploration solution"]
  node_solution3reg["Regression solution"]
end

node_student(("Student"))

node_student -->|"opens"| node_week1
node_student -->|"opens"| node_week2
node_student -->|"opens"| node_week3class
node_student -->|"opens"| node_week3reg
node_student -->|"opens"| node_week4class
node_student -->|"opens"| node_week4reg
node_student -->|"opens"| node_week5measures
node_student -->|"opens"| node_week5selection
node_student -->|"reviews"| node_solution1
node_student -->|"reviews"| node_solution2
node_student -->|"reviews"| node_solution3class
node_student -->|"reviews"| node_solution3reg
node_week3class -->|"cleans"| node_rawchampions
node_week3reg -->|"cleans"| node_rawcars
node_week3class -->|"writes"| node_interimchampions
node_week3reg -->|"writes"| node_interimcars
node_week3class -->|"writes"| node_cleanlogs
node_week3reg -->|"writes"| node_cleanlogs
node_week3class -->|"uses"| node_helpers
node_week3reg -->|"uses"| node_helpers
node_week4class -->|"reads"| node_interimchampions
node_week4class -->|"reads"| node_cleanlogs
node_week4reg -->|"reads"| node_interimcars
node_week4reg -->|"reads"| node_cleanlogs
node_week5measures -->|"reads"| node_interimcars
node_week5measures -->|"reads"| node_interimchampions
node_week5measures -->|"reads"| node_cleanlogs
node_week5selection -->|"reads"| node_interimcars
node_week5selection -->|"reads"| node_interimchampions
node_week5selection -->|"reads"| node_cleanlogs
node_week5selection -->|"uses"| node_preprocessing
node_week4class -->|"writes"| node_featurelogs
node_week4reg -->|"writes"| node_featurelogs
node_week1 -.->|"answered by"| node_solution1
node_week2 -.->|"answered by"| node_solution2
node_week3class -.->|"answered by"| node_solution3class
node_week3reg -.->|"answered by"| node_solution3reg

click node_week1 "https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/notebooks/week_01/week_01_supervised_ml_and_environment.ipynb"
click node_week2 "https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/notebooks/week_02/week_02_ml_pipeline.ipynb"
click node_week3class "https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/notebooks/week_03/week_03_deepen_exploration.ipynb"
click node_week3reg "https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/notebooks/week_03/week_03_deepen_exploration_regression.ipynb"
click node_week4class "https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/notebooks/week_04/week_04_feature_work_classification.ipynb"
click node_week4reg "https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/notebooks/week_04/week_04_feature_work_regression.ipynb"
click node_week5measures "https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/notebooks/week_05/week_05_performance_measures.ipynb"
click node_week5selection "https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/notebooks/week_05/week_05_model_selection.ipynb"
click node_helpers "https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/notebooks/week_03/course_helpers.py"
click node_preprocessing "https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/notebooks/week_05/preprocessing.py"
click node_rawcars "https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/data/raw/cars4you_raw.csv"
click node_rawchampions "https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/data/raw/champions_raw.csv"
click node_interimcars "https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/data/interim/cars4you.csv"
click node_interimchampions "https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/data/interim/champions.csv"
click node_cleanlogs "https://github.com/carolinapercina62/ml_dsaa_practicals/tree/main/logs"
click node_featurelogs "https://github.com/carolinapercina62/ml_dsaa_practicals/tree/main/logs"
click node_solution1 "https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/solutions/week_01/week_01_supervised_ml_and_environment_solution.ipynb"
click node_solution2 "https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/solutions/week_02/week_02_ml_pipeline_solution.ipynb"
click node_solution3class "https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/solutions/week_03/week_03_deepen_exploration_solution.ipynb"
click node_solution3reg "https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/solutions/week_03/week_03_deepen_exploration_regression_solution.ipynb"
click node_project "https://github.com/carolinapercina62/ml_dsaa_practicals/tree/main/project"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_helpers,node_preprocessing,node_project toneBlue
class node_week1,node_week2,node_week3class,node_week3reg,node_week4class,node_week4reg,node_week5measures,node_week5selection toneAmber
class node_rawcars,node_rawchampions,node_interimcars,node_interimchampions,node_cleanlogs,node_featurelogs toneMint
class node_solution1,node_solution2,node_solution3class,node_solution3reg toneRose
class node_student toneIndigo
```

## Components

### Course materials

- [Cleaning log tools](https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/notebooks/week_03/course_helpers.py): `notebooks/week_03/course_helpers.py`
- [Preprocessing tools](https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/notebooks/week_05/preprocessing.py): `notebooks/week_05/preprocessing.py`
- [Course project](https://github.com/carolinapercina62/ml_dsaa_practicals/tree/main/project): `project`

### Practical notebooks

- [Supervised ML](https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/notebooks/week_01/week_01_supervised_ml_and_environment.ipynb): `notebooks/week_01/week_01_supervised_ml_and_environment.ipynb`
- [ML process](https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/notebooks/week_02/week_02_ml_pipeline.ipynb): `notebooks/week_02/week_02_ml_pipeline.ipynb`
- [Data exploration](https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/notebooks/week_03/week_03_deepen_exploration.ipynb): `notebooks/week_03/week_03_deepen_exploration.ipynb`
- [Price regression](https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/notebooks/week_03/week_03_deepen_exploration_regression.ipynb): `notebooks/week_03/week_03_deepen_exploration_regression.ipynb`
- [Feature work](https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/notebooks/week_04/week_04_feature_work_classification.ipynb): `notebooks/week_04/week_04_feature_work_classification.ipynb`
- [Regression features](https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/notebooks/week_04/week_04_feature_work_regression.ipynb): `notebooks/week_04/week_04_feature_work_regression.ipynb`
- [Performance measures](https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/notebooks/week_05/week_05_performance_measures.ipynb): `notebooks/week_05/week_05_performance_measures.ipynb`
- [Model selection](https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/notebooks/week_05/week_05_model_selection.ipynb): `notebooks/week_05/week_05_model_selection.ipynb`

### Datasets and logs

- [Raw cars data](https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/data/raw/cars4you_raw.csv): `data/raw/cars4you_raw.csv`
- [Raw champions data](https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/data/raw/champions_raw.csv): `data/raw/champions_raw.csv`
- [Cleaned cars data](https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/data/interim/cars4you.csv): `data/interim/cars4you.csv`
- [Cleaned champions data](https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/data/interim/champions.csv): `data/interim/champions.csv`
- [Cleaning logs](https://github.com/carolinapercina62/ml_dsaa_practicals/tree/main/logs): `logs`
- [Feature logs](https://github.com/carolinapercina62/ml_dsaa_practicals/tree/main/logs): `logs`

### Released solutions

- [Week 1 solution](https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/solutions/week_01/week_01_supervised_ml_and_environment_solution.ipynb): `solutions/week_01/week_01_supervised_ml_and_environment_solution.ipynb`
- [Week 2 solution](https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/solutions/week_02/week_02_ml_pipeline_solution.ipynb): `solutions/week_02/week_02_ml_pipeline_solution.ipynb`
- [Exploration solution](https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/solutions/week_03/week_03_deepen_exploration_solution.ipynb): `solutions/week_03/week_03_deepen_exploration_solution.ipynb`
- [Regression solution](https://github.com/carolinapercina62/ml_dsaa_practicals/blob/main/solutions/week_03/week_03_deepen_exploration_regression_solution.ipynb): `solutions/week_03/week_03_deepen_exploration_regression_solution.ipynb`

### Other components

- **Student**

## Connections

- Student → Supervised ML: opens
- Student → ML process: opens
- Student → Data exploration: opens
- Student → Price regression: opens
- Student → Feature work: opens
- Student → Regression features: opens
- Student → Performance measures: opens
- Student → Model selection: opens
- Student → Week 1 solution: reviews
- Student → Week 2 solution: reviews
- Student → Exploration solution: reviews
- Student → Regression solution: reviews
- Data exploration → Raw champions data: cleans
- Price regression → Raw cars data: cleans
- Data exploration → Cleaned champions data: writes
- Price regression → Cleaned cars data: writes
- Data exploration → Cleaning logs: writes
- Price regression → Cleaning logs: writes
- Data exploration → Cleaning log tools: uses
- Price regression → Cleaning log tools: uses
- Feature work → Cleaned champions data: reads
- Feature work → Cleaning logs: reads
- Regression features → Cleaned cars data: reads
- Regression features → Cleaning logs: reads
- Performance measures → Cleaned cars data: reads
- Performance measures → Cleaned champions data: reads
- Performance measures → Cleaning logs: reads
- Model selection → Cleaned cars data: reads
- Model selection → Cleaned champions data: reads
- Model selection → Cleaning logs: reads
- Model selection → Preprocessing tools: uses
- Feature work → Feature logs: writes
- Regression features → Feature logs: writes
- Supervised ML → Week 1 solution: answered by
- ML process → Week 2 solution: answered by
- Data exploration → Exploration solution: answered by
- Price regression → Regression solution: answered by
