David's architecture for his scripts - davidlabee/Graph4Air GitHub Wiki

Aspect graph4air_workflow.py graph4air_hyperparammodelsearch.py graph4air_hyperparamgraphaugmentationsearch.py
Metrics packages mean_squared_error, mean_absolute_error, r2_score mean_squared_error, r2_score, mean_absolute_error mean_squared_error, mean_absolute_error, r2_score
Internal validation Train op data.train_mask, valideren op data.test_mask Optuna-trials trainen op data.train_mask, valideren op data.test_mask Train op data.train_mask, valideren op data.test_mask
validation Evaluatie op data.test_mask Evaluatie (RMSE) op data.test_mask binnen elke trial Evaluatie (eval_rmse) op data.test_mask
Train/test split valid_idx = np.where(~np.isnan(y))[0]; shuffle; 80/20; boolean-masks valid_idx = np.where(~np.isnan(y.flatten()))[0]; shuffle; 80/20; boolean-masks valid_idx = np.where(~np.isnan(y.flatten()))[0]; shuffle; 80/20; boolean-masks
Hyperparam tuning – Optuna over: num_layers (2–4), hidden_units {16,32,64}, dropout [0–0.5], lr [1e-4–1e-2], weight_decay [1e-5–1e-3], activation {relu,elu} Optuna over: top_n [500–1500], neighbors [10–200], sim_thresh [0.80–0.9999], min_dist [50–500], max_dist [500–5000], hop_thresh [1–5], max_edges [500–5000], per_node_cap [1–10]
Epochs & Early stopping GCN & GAT: 200 epochs, geen early stopping Elke trial: 100 epochs,wel early stopping Fase 1: 50 epochs; fase 2: 200 epochs; wel early stopping
Node masking valid_idx = indices waar y≠NaN; excludes outliers; boolean-masks valid_idx = indices waar y≠NaN; boolean-masks valid_idx = indices waar y≠NaN; boolean-masks