# beltzantoine05/hickathon-6 architecture

> Architecture diagram of the GitHub repository beltzantoine05/hickathon-6, 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/beltzantoine05/hickathon-6
- Repository: https://github.com/beltzantoine05/hickathon-6

## Overview

Hi!ckathon 2025 is a PISA mathematics-score prediction project. Its principal workflow cleans and engineers student features, learns a denoised representation, fine-tunes a regression model, and uses AutoGluon ensemble modeling to produce score predictions. The README also describes CatBoost and science/literacy features; these are shown as documented modeling capabilities, though the notebook implementations were not sampled. The current DAE pipeline and preprocessing links are supported by source excerpts; exact wiring into the modeling notebooks is not established.

Main entry points: [`src/hickathon_six/DAE/runner.py`](https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/DAE/runner.py) (DAE pipeline runner), [`src/hickathon_six/DAE/preprocessing.py`](https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/DAE/preprocessing.py) (Cleaning and engineering), [`src/hickathon_six/autogluon.ipynb`](https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/autogluon.ipynb) (AutoGluon ensemble), [`src/hickathon_six/STRATUM-embedding/embedding.py`](https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/STRATUM-embedding/embedding.py) (STRATUM embeddings)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_data_prep["Feature preparation"]
  node_prep["Cleaning and engineering<br/>[preprocessing.py]"]
  node_preset_exo["EXO feature setup<br/>[dae_exo.py]"]
  node_preset_que["QUE feature setup<br/>[dae_que.py]"]
end

subgraph group_dae["Representation learning"]
  node_pipeline["DAE pipeline runner<br/>[runner.py]"]
  node_dae_models["Encoder and DAE<br/>[models.py]"]
  node_latent["Learned representation<br/>[runner.py]"]
  node_regression["Fine-tuned regression<br/>[runner.py]"]
end

subgraph group_prediction["Score prediction"]
  node_autogluon["AutoGluon ensemble<br/>[autogluon.ipynb]"]
  node_math_prediction["Math score prediction<br/>[autogluon.ipynb]"]
end

subgraph group_alternatives["Additional modeling"]
  node_catboost["CatBoost modeling<br/>[catboost.ipynb]"]
  node_stratum["STRATUM embeddings<br/>[embedding.py]"]
end

node_researcher(("Project user"))
node_student_data["Student survey data"]
node_glossary["STRATUM glossary"]
node_clustered_glossary["Clustered glossary<br/>[embedding.py]"]

node_researcher -->|"provides"| node_student_data
node_student_data -->|"supplies features"| node_prep
node_prep -->|"prepares inputs"| node_pipeline
node_preset_exo -->|"configures"| node_pipeline
node_preset_que -->|"configures"| node_pipeline
node_pipeline -->|"trains"| node_dae_models
node_pipeline -->|"fine-tunes"| node_regression
node_pipeline -->|"generates"| node_latent
node_latent -.->|"provides features"| node_autogluon
node_autogluon -->|"predicts"| node_math_prediction
node_student_data -.->|"provides features"| node_catboost
node_glossary -->|"provides terms"| node_stratum
node_stratum -->|"exports clusters"| node_clustered_glossary

click node_prep "https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/DAE/preprocessing.py"
click node_preset_exo "https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/dae_exo.py"
click node_preset_que "https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/dae_que.py"
click node_pipeline "https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/DAE/runner.py"
click node_dae_models "https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/DAE/models.py"
click node_latent "https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/DAE/runner.py"
click node_regression "https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/DAE/runner.py"
click node_autogluon "https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/autogluon.ipynb"
click node_math_prediction "https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/autogluon.ipynb"
click node_catboost "https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/catboost.ipynb"
click node_stratum "https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/STRATUM-embedding/embedding.py"
click node_glossary "https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/STRATUM-embedding/Glossaire_STRATUM_Clustered_Google.xlsx"
click node_clustered_glossary "https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/STRATUM-embedding/embedding.py"

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_prep,node_preset_exo,node_preset_que,node_researcher toneBlue
class node_pipeline,node_dae_models,node_latent,node_regression toneAmber
class node_autogluon,node_math_prediction toneMint
class node_catboost,node_stratum toneRose
class node_student_data toneIndigo
class node_glossary,node_clustered_glossary toneTeal
```

## Components

### Feature preparation

- [Cleaning and engineering](https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/DAE/preprocessing.py): `src/hickathon_six/DAE/preprocessing.py`
- [EXO feature setup](https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/dae_exo.py): `src/hickathon_six/dae_exo.py`
- [QUE feature setup](https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/dae_que.py): `src/hickathon_six/dae_que.py`

### Representation learning

- [DAE pipeline runner](https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/DAE/runner.py): `src/hickathon_six/DAE/runner.py`
- [Encoder and DAE](https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/DAE/models.py): `src/hickathon_six/DAE/models.py`
- [Learned representation](https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/DAE/runner.py): `src/hickathon_six/DAE/runner.py`
- [Fine-tuned regression](https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/DAE/runner.py): `src/hickathon_six/DAE/runner.py`

### Score prediction

- [AutoGluon ensemble](https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/autogluon.ipynb): `src/hickathon_six/autogluon.ipynb`
- [Math score prediction](https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/autogluon.ipynb): `src/hickathon_six/autogluon.ipynb`

### Additional modeling

- [CatBoost modeling](https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/catboost.ipynb): `src/hickathon_six/catboost.ipynb`
- [STRATUM embeddings](https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/STRATUM-embedding/embedding.py): `src/hickathon_six/STRATUM-embedding/embedding.py`

### Other components

- **Project user**
- **Student survey data**
- [STRATUM glossary](https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/STRATUM-embedding/Glossaire_STRATUM_Clustered_Google.xlsx): `src/hickathon_six/STRATUM-embedding/Glossaire_STRATUM_Clustered_Google.xlsx`
- [Clustered glossary](https://github.com/beltzantoine05/hickathon-6/blob/dev/src/hickathon_six/STRATUM-embedding/embedding.py): `src/hickathon_six/STRATUM-embedding/embedding.py`

## Connections

- Project user → Student survey data: provides
- Student survey data → Cleaning and engineering: supplies features
- Cleaning and engineering → DAE pipeline runner: prepares inputs
- EXO feature setup → DAE pipeline runner: configures
- QUE feature setup → DAE pipeline runner: configures
- DAE pipeline runner → Encoder and DAE: trains
- DAE pipeline runner → Fine-tuned regression: fine-tunes
- DAE pipeline runner → Learned representation: generates
- Learned representation → AutoGluon ensemble: provides features
- AutoGluon ensemble → Math score prediction: predicts
- Student survey data → CatBoost modeling: provides features
- STRATUM glossary → STRATUM embeddings: provides terms
- STRATUM embeddings → Clustered glossary: exports clusters
