This vignette demonstrates two supported plot configuration interfaces in DDESONN.
training_overrides)Scenario 1 configures plotting through three independent call
sites inside training_overrides:
training_overrides$per_epoch_plotstraining_overrides$performance_relevancetraining_overrides$evaluate_predictions_report_plotsEach plot category is configured separately.
This represents the minimal integration bridge interface.
For the unified umbrella interface (recommended), see:
plot-controls_scenario1-2_single-run_scenarioA.Rmd
plot_controls)Scenario 2 configures all plots through a single unified interface:
plot_controlsAll plot categories (e.g., per_epoch,
performance_relevance, evaluate_report) are
defined under this one umbrella.
For comparison with the three-call-site structure (Scenario 1), see:
plot-controls_scenario1-2_single-run_scenarioA.Rmd
[PR] RESOLVED pr_cfg for update_performance_and_relevance (ensemble_number=0, do_ensemble=FALSE) list(saveEnabled = TRUE, viewAllPlots = FALSE, performance_high_mean_plots = TRUE, performance_low_mean_plots = TRUE, relevance_high_mean_plots = TRUE, relevance_low_mean_plots = TRUE, verbose = TRUE) [PR] knitr.in.progress=TRUE [PR] interactive()=FALSE [PR] option(DDESONN_OUTPUT_ROOT)=C:6f9Ge/ddesonn-vig-s1-s2/outputs/DDESONN_plots_scenarioA_s1 [PR] env(DDESONN_ARTIFACTS_ROOT)=C:6f9Ge/ddesonn-vig-s1-s2/outputs/DDESONN_plots_scenarioA_s1 [PR] run_id (head): Ensemble: 0 Model: 1 (n=1) [PR] pr_saveEnabled=TRUE [PR] pr_viewAllPlots=FALSE [PR] flags resolved (post viewAll): perf_high=TRUE perf_low=TRUE relev_high=TRUE relev_low=TRUE [PR TRACE] pr_viewAllPlots= FALSE pr_saveEnabled= TRUE [PR TRACE] rows: perf_high= 7 perf_low= 36 relev_high= 0 relev_low= 3 [PR TRACE] print_plots=TRUE [PR TRACE] CALL high(perf) [PR] performance_high_mean_plots class=list length=7 names(head)=confusion_matrix_TP,confusion_matrix_FP,confusion_matrix_TN,accuracy_precision_recall_f1_tuned_confusion_matrix_TP,accuracy_precision_recall_f1_tuned_confusion_matrix_TN [PR TRACE] CALL low(perf) [PR] performance_low_mean_plots class=list length=36 names(head)=quantization_error,topographic_error,clustering_quality_db,MSE,MAE [PR TRACE] CALL high(relev) [PR] relevance_high_mean_plots class=list length=0 [PR TRACE] CALL low(relev) [PR] relevance_low_mean_plots class=list length=3 names(head)=ndcg,diversity,serendipity
# ================================================================================
# ================================= CORE METRICS =================================
# ================================================================================
===== FINAL SUMMARY =====
Best epoch : 167
Train accuracy : 0.990000
Val accuracy : 0.984000
Train loss : 0.008937
Val loss : 0.013941
Threshold : 0.500000
Test accuracy : 0.988000
Test loss : 0.058435
===== TRAIN =====
Classification Report| precision | recall | f1-score | support | |
|---|---|---|---|---|
| 0 | 0.996275 | 0.997927 | 0.997100 | 2412.000000 |
| 1 | 0.995387 | 0.991728 | 0.993554 | 1088.000000 |
| accuracy | 0.996000 | 0.996000 | 0.996000 | 3500.000000 |
| macro avg | 0.995831 | 0.994827 | 0.995327 | 3500.000000 |
| weighted avg | 0.995999 | 0.996000 | 0.995998 | 3500.000000 |
| Positive (1) | Negative (0) | |
|---|---|---|
| Positive (1) | 1079 | 5 |
| Negative (0) | 9 | 2407 |
AUC/AUPRC AUC (ROC): 0.999922 AUPRC: 0.999831
===== VALIDATION =====
Classification Report| precision | recall | f1-score | support | |
|---|---|---|---|---|
| 0 | 0.991718 | 0.977551 | 0.984584 | 490.000000 |
| 1 | 0.958801 | 0.984615 | 0.971537 | 260.000000 |
| accuracy | 0.980000 | 0.980000 | 0.980000 | 750.000000 |
| macro avg | 0.975260 | 0.981083 | 0.978060 | 750.000000 |
| weighted avg | 0.980307 | 0.980000 | 0.980061 | 750.000000 |
| Positive (1) | Negative (0) | |
|---|---|---|
| Positive (1) | 256 | 11 |
| Negative (0) | 4 | 479 |
AUC/AUPRC AUC (ROC): 0.992708 AUPRC: 0.986047
===== TEST =====
Classification Report| precision | recall | f1-score | support | |
|---|---|---|---|---|
| 0 | 0.998088 | 0.984906 | 0.991453 | 530.000000 |
| 1 | 0.964758 | 0.995455 | 0.979866 | 220.000000 |
| accuracy | 0.988000 | 0.988000 | 0.988000 | 750.000000 |
| macro avg | 0.981423 | 0.990180 | 0.985659 | 750.000000 |
| weighted avg | 0.988311 | 0.988000 | 0.988054 | 750.000000 |
| Positive (1) | Negative (0) | |
|---|---|---|
| Positive (1) | 219 | 8 |
| Negative (0) | 1 | 522 |
AUC/AUPRC AUC (ROC): 0.996964 AUPRC: 0.996219
plot_controls umbrella (Single Run:
Scenario A)options(DDESONN_OUTPUT_ROOT = if (is_check_env) .vig_tmp_root else out2)
Sys.setenv(DDESONN_ARTIFACTS_ROOT = if (is_check_env) .vig_tmp_root else out2)
res_scenarioA_s2 <- ddesonn_run(
x = x_train,
y = y_train,
classification_mode = "binary",
hidden_sizes = c(64, 32),
seeds = 1L,
do_ensemble = FALSE,
validation = list(x = x_valid, y = y_valid),
test = list(x = x_test, y = y_test),
training_overrides = list(
init_method = "he",
optimizer = "adagrad",
lr = 0.125,
lambda = 0.00028,
activation_functions = list(relu, relu, sigmoid),
dropout_rates = list(0.10),
loss_type = "CrossEntropy",
validation_metrics = TRUE,
num_epochs = 1,
final_summary_decimals = 6L
),
plot_controls = list(
per_epoch = list(
saveEnabled = !is_check_env,
loss_curve = TRUE,
probe_plots = TRUE,
verbose = TRUE
),
# ============================================================
# SECTION: performance_relevance (Scenario 2)
# ============================================================
performance_relevance = list(
saveEnabled = !is_check_env,
viewAllPlots = FALSE,
performance_high_mean_plots = TRUE,
performance_low_mean_plots = TRUE,
relevance_high_mean_plots = TRUE,
relevance_low_mean_plots = TRUE,
verbose = TRUE
),
evaluate_report = list(
accuracy_plot = TRUE,
accuracy_plot_mode = "both",
plot_roc = TRUE,
plot_pr = TRUE,
show_auprc = TRUE,
viewAllPlots = FALSE,
verbose = TRUE
)
)
)## [PR] RESOLVED pr_cfg for update_performance_and_relevance (ensemble_number=0, do_ensemble=FALSE)
## list(saveEnabled = TRUE, viewAllPlots = FALSE, performance_high_mean_plots = TRUE,
## performance_low_mean_plots = TRUE, relevance_high_mean_plots = TRUE,
## relevance_low_mean_plots = TRUE, verbose = TRUE)
## [PR] knitr.in.progress=TRUE
## [PR] interactive()=FALSE
## [PR] option(DDESONN_OUTPUT_ROOT)=C:\Users\wfky1\AppData\Local\Temp\RtmpK6f9Ge/ddesonn-vig-s1-s2/outputs/DDESONN_plots_scenarioA_s2
## [PR] env(DDESONN_ARTIFACTS_ROOT)=C:\Users\wfky1\AppData\Local\Temp\RtmpK6f9Ge/ddesonn-vig-s1-s2/outputs/DDESONN_plots_scenarioA_s2
## [PR] run_id (head): Ensemble: 0 Model: 1 (n=1)
## [PR] pr_saveEnabled=TRUE
## [PR] pr_viewAllPlots=FALSE
## [PR] flags resolved (post viewAll): perf_high=TRUE perf_low=TRUE relev_high=TRUE relev_low=TRUE
## [PR TRACE] pr_viewAllPlots= FALSE pr_saveEnabled= TRUE
## [PR TRACE] rows: perf_high= 9 perf_low= 18 relev_high= 0 relev_low= 3
## [PR TRACE] print_plots=TRUE
## [PR TRACE] CALL high(perf)
## [PR] performance_high_mean_plots class=list length=9 names(head)=confusion_matrix_TP,confusion_matrix_FP,confusion_matrix_TN,confusion_matrix_FN,accuracy_precision_recall_f1_tuned_confusion_matrix_TP
## [PR TRACE] CALL low(perf)
## [PR] performance_low_mean_plots class=list length=18 names(head)=quantization_error,topographic_error,clustering_quality_db,MSE,MAE
## [PR TRACE] CALL high(relev)
## [PR] relevance_high_mean_plots class=list length=0
## [PR TRACE] CALL low(relev)
## [PR] relevance_low_mean_plots class=list length=3 names(head)=ndcg,diversity,serendipity
##
## ```text
##
## # ================================================================================
## # ================================= CORE METRICS =================================
## # ================================================================================
##
## ===== FINAL SUMMARY =====
## Best epoch : 1
## Train accuracy : 0.493429
## Val accuracy : 0.697333
## Train loss : 0.253650
## Val loss : 0.206287
## Threshold : 0.650000
## Test accuracy : 0.801333
## Test loss : 0.628412
## ```
##
## ===== TRAIN =====
##
## Classification Report
## <table>
## <thead>
## <tr>
## <th style="text-align:left;"> </th>
## <th style="text-align:left;"> precision </th>
## <th style="text-align:left;"> recall </th>
## <th style="text-align:left;"> f1-score </th>
## <th style="text-align:left;"> support </th>
## </tr>
## </thead>
## <tbody>
## <tr>
## <td style="text-align:left;"> 0 </td>
## <td style="text-align:left;"> 0.871505 </td>
## <td style="text-align:left;"> 0.607380 </td>
## <td style="text-align:left;"> 0.715856 </td>
## <td style="text-align:left;"> 2412.000000 </td>
## </tr>
## <tr>
## <td style="text-align:left;"> 1 </td>
## <td style="text-align:left;"> 0.479384 </td>
## <td style="text-align:left;"> 0.801471 </td>
## <td style="text-align:left;"> 0.599931 </td>
## <td style="text-align:left;"> 1088.000000 </td>
## </tr>
## <tr>
## <td style="text-align:left;"> accuracy </td>
## <td style="text-align:left;"> 0.667714 </td>
## <td style="text-align:left;"> 0.667714 </td>
## <td style="text-align:left;"> 0.667714 </td>
## <td style="text-align:left;"> 3500.000000 </td>
## </tr>
## <tr>
## <td style="text-align:left;"> macro avg </td>
## <td style="text-align:left;"> 0.675445 </td>
## <td style="text-align:left;"> 0.704425 </td>
## <td style="text-align:left;"> 0.657894 </td>
## <td style="text-align:left;"> 3500.000000 </td>
## </tr>
## <tr>
## <td style="text-align:left;"> weighted avg </td>
## <td style="text-align:left;"> 0.749612 </td>
## <td style="text-align:left;"> 0.667714 </td>
## <td style="text-align:left;"> 0.679820 </td>
## <td style="text-align:left;"> 3500.000000 </td>
## </tr>
## </tbody>
## </table>
##
## Confusion Matrix
## <table>
## <thead>
## <tr>
## <th style="text-align:left;"> </th>
## <th style="text-align:right;"> Positive (1) </th>
## <th style="text-align:right;"> Negative (0) </th>
## </tr>
## </thead>
## <tbody>
## <tr>
## <td style="text-align:left;"> Positive (1) </td>
## <td style="text-align:right;"> 872 </td>
## <td style="text-align:right;"> 947 </td>
## </tr>
## <tr>
## <td style="text-align:left;"> Negative (0) </td>
## <td style="text-align:right;"> 216 </td>
## <td style="text-align:right;"> 1465 </td>
## </tr>
## </tbody>
## </table>
##
## AUC/AUPRC
## AUC (ROC): 0.809206
## AUPRC: 0.713748
##
## ===== VALIDATION =====
##
## Classification Report
## <table>
## <thead>
## <tr>
## <th style="text-align:left;"> </th>
## <th style="text-align:left;"> precision </th>
## <th style="text-align:left;"> recall </th>
## <th style="text-align:left;"> f1-score </th>
## <th style="text-align:left;"> support </th>
## </tr>
## </thead>
## <tbody>
## <tr>
## <td style="text-align:left;"> 0 </td>
## <td style="text-align:left;"> 0.892537 </td>
## <td style="text-align:left;"> 0.610204 </td>
## <td style="text-align:left;"> 0.724848 </td>
## <td style="text-align:left;"> 490.000000 </td>
## </tr>
## <tr>
## <td style="text-align:left;"> 1 </td>
## <td style="text-align:left;"> 0.539759 </td>
## <td style="text-align:left;"> 0.861538 </td>
## <td style="text-align:left;"> 0.663704 </td>
## <td style="text-align:left;"> 260.000000 </td>
## </tr>
## <tr>
## <td style="text-align:left;"> accuracy </td>
## <td style="text-align:left;"> 0.697333 </td>
## <td style="text-align:left;"> 0.697333 </td>
## <td style="text-align:left;"> 0.697333 </td>
## <td style="text-align:left;"> 750.000000 </td>
## </tr>
## <tr>
## <td style="text-align:left;"> macro avg </td>
## <td style="text-align:left;"> 0.716148 </td>
## <td style="text-align:left;"> 0.735871 </td>
## <td style="text-align:left;"> 0.694276 </td>
## <td style="text-align:left;"> 750.000000 </td>
## </tr>
## <tr>
## <td style="text-align:left;"> weighted avg </td>
## <td style="text-align:left;"> 0.770241 </td>
## <td style="text-align:left;"> 0.697333 </td>
## <td style="text-align:left;"> 0.703652 </td>
## <td style="text-align:left;"> 750.000000 </td>
## </tr>
## </tbody>
## </table>
##
## Confusion Matrix
## <table>
## <thead>
## <tr>
## <th style="text-align:left;"> </th>
## <th style="text-align:right;"> Positive (1) </th>
## <th style="text-align:right;"> Negative (0) </th>
## </tr>
## </thead>
## <tbody>
## <tr>
## <td style="text-align:left;"> Positive (1) </td>
## <td style="text-align:right;"> 224 </td>
## <td style="text-align:right;"> 191 </td>
## </tr>
## <tr>
## <td style="text-align:left;"> Negative (0) </td>
## <td style="text-align:right;"> 36 </td>
## <td style="text-align:right;"> 299 </td>
## </tr>
## </tbody>
## </table>
##
## AUC/AUPRC
## AUC (ROC): 0.835290
## AUPRC: 0.766330
##
## ===== TEST =====
##
## Classification Report
## <table>
## <thead>
## <tr>
## <th style="text-align:left;"> </th>
## <th style="text-align:left;"> precision </th>
## <th style="text-align:left;"> recall </th>
## <th style="text-align:left;"> f1-score </th>
## <th style="text-align:left;"> support </th>
## </tr>
## </thead>
## <tbody>
## <tr>
## <td style="text-align:left;"> 0 </td>
## <td style="text-align:left;"> 0.859944 </td>
## <td style="text-align:left;"> 0.579245 </td>
## <td style="text-align:left;"> 0.692221 </td>
## <td style="text-align:left;"> 530.000000 </td>
## </tr>
## <tr>
## <td style="text-align:left;"> 1 </td>
## <td style="text-align:left;"> 0.432570 </td>
## <td style="text-align:left;"> 0.772727 </td>
## <td style="text-align:left;"> 0.554649 </td>
## <td style="text-align:left;"> 220.000000 </td>
## </tr>
## <tr>
## <td style="text-align:left;"> accuracy </td>
## <td style="text-align:left;"> 0.636000 </td>
## <td style="text-align:left;"> 0.636000 </td>
## <td style="text-align:left;"> 0.636000 </td>
## <td style="text-align:left;"> 750.000000 </td>
## </tr>
## <tr>
## <td style="text-align:left;"> macro avg </td>
## <td style="text-align:left;"> 0.646257 </td>
## <td style="text-align:left;"> 0.675986 </td>
## <td style="text-align:left;"> 0.623435 </td>
## <td style="text-align:left;"> 750.000000 </td>
## </tr>
## <tr>
## <td style="text-align:left;"> weighted avg </td>
## <td style="text-align:left;"> 0.734581 </td>
## <td style="text-align:left;"> 0.636000 </td>
## <td style="text-align:left;"> 0.651867 </td>
## <td style="text-align:left;"> 750.000000 </td>
## </tr>
## </tbody>
## </table>
##
## Confusion Matrix
## <table>
## <thead>
## <tr>
## <th style="text-align:left;"> </th>
## <th style="text-align:right;"> Positive (1) </th>
## <th style="text-align:right;"> Negative (0) </th>
## </tr>
## </thead>
## <tbody>
## <tr>
## <td style="text-align:left;"> Positive (1) </td>
## <td style="text-align:right;"> 170 </td>
## <td style="text-align:right;"> 223 </td>
## </tr>
## <tr>
## <td style="text-align:left;"> Negative (0) </td>
## <td style="text-align:right;"> 50 </td>
## <td style="text-align:right;"> 307 </td>
## </tr>
## </tbody>
## </table>
##
## AUC/AUPRC
## AUC (ROC): 0.781407
## AUPRC: 0.654612