From 7027a2216f7973319e38c580c39d0d236e4885bc Mon Sep 17 00:00:00 2001 From: Joaquin Torres Bravo Date: Fri, 24 May 2024 11:51:53 +0200 Subject: [PATCH] Testing with PRE-ORIG --- model_selection/cv_metric_gen.py | 71 +- .../output_cv_metrics/curves/pre_ORIG.svg | 85344 +++++++++++++++- .../output_cv_metrics/metrics.xlsx | Bin 9516 -> 9789 bytes 3 files changed, 80251 insertions(+), 5164 deletions(-) diff --git a/model_selection/cv_metric_gen.py b/model_selection/cv_metric_gen.py index e91a790..d04a8f1 100644 --- a/model_selection/cv_metric_gen.py +++ b/model_selection/cv_metric_gen.py @@ -206,43 +206,42 @@ if __name__ == "__main__": # Metric generation for each model for model_idx, (model_name, model) in enumerate(models.items()): print(f"{group}-{method_names[j]}-{model_name}") - if model_name == 'DT': - # Curve generation setup - mean_fpr = np.linspace(0, 1, 100) - tprs, aucs = [], [] - mean_recall = np.linspace(0, 1, 100) - precisions, pr_aucs = [], [] - cmap = plt.get_cmap('tab10') # Colormap - # Initialize storage for scores for each fold - fold_scores = {metric_name: [] for metric_name in scorings.keys()} - # Manually loop through each fold in the cross-validation - for fold_idx, (train_idx, test_idx) in enumerate(cv.split(X_train, y_train)): - X_train_fold, X_test_fold = X_train[train_idx], X_train[test_idx] - y_train_fold, y_test_fold = y_train[train_idx], y_train[test_idx] - # Fit the model on the training data - model.fit(X_train_fold, y_train_fold) - # --------------------- SCORINGS --------------------------- - # Calculate and store the scores for each metric - for metric_name, scorer in scorings.items(): - score = scorer(model, X_test_fold, y_test_fold) - fold_scores[metric_name].append(score) - # --------------------- END SCORINGS --------------------------- + # Curve generation setup + mean_fpr = np.linspace(0, 1, 100) + tprs, aucs = [], [] + mean_recall = np.linspace(0, 1, 100) + precisions, pr_aucs = [], [] + cmap = plt.get_cmap('tab10') # Colormap + # Initialize storage for scores for each fold + fold_scores = {metric_name: [] for metric_name in scorings.keys()} + # Manually loop through each fold in the cross-validation + for fold_idx, (train_idx, test_idx) in enumerate(cv.split(X_train, y_train)): + X_train_fold, X_test_fold = X_train[train_idx], X_train[test_idx] + y_train_fold, y_test_fold = y_train[train_idx], y_train[test_idx] + # Fit the model on the training data + model.fit(X_train_fold, y_train_fold) + # --------------------- SCORINGS --------------------------- + # Calculate and store the scores for each metric + for metric_name, scorer in scorings.items(): + score = scorer(model, X_test_fold, y_test_fold) + fold_scores[metric_name].append(score) + # --------------------- END SCORINGS --------------------------- # --------------------- CURVES --------------------------- - # Generate ROC curve for the fold - roc_display = RocCurveDisplay.from_estimator(model, X_test_fold, y_test_fold, - name=f"ROC fold {fold_idx}", alpha=0.6, lw=2, - ax=axes[model_idx][0], color=cmap(fold_idx % 10)) - interp_tpr = np.interp(mean_fpr, roc_display.fpr, roc_display.tpr) - interp_tpr[0] = 0.0 - tprs.append(interp_tpr) - aucs.append(roc_display.roc_auc) - # Generate Precision-Recall curve for the fold - pr_display = PrecisionRecallDisplay.from_estimator(model, X_test_fold, y_test_fold, - name=f"PR fold {fold_idx}", alpha=0.6, lw=2, - ax=axes[model_idx][1], color=cmap(fold_idx % 10)) - interp_precision = np.interp(mean_recall, pr_display.recall[::-1], pr_display.precision[::-1]) - precisions.append(interp_precision) - pr_aucs.append(pr_display.average_precision) + # Generate ROC curve for the fold + roc_display = RocCurveDisplay.from_estimator(model, X_test_fold, y_test_fold, + name=f"ROC fold {fold_idx}", alpha=0.6, lw=2, + ax=axes[model_idx][0], color=cmap(fold_idx % 10)) + interp_tpr = np.interp(mean_fpr, roc_display.fpr, roc_display.tpr) + interp_tpr[0] = 0.0 + tprs.append(interp_tpr) + aucs.append(roc_display.roc_auc) + # Generate Precision-Recall curve for the fold + pr_display = PrecisionRecallDisplay.from_estimator(model, X_test_fold, y_test_fold, + name=f"PR fold {fold_idx}", alpha=0.6, lw=2, + ax=axes[model_idx][1], color=cmap(fold_idx % 10)) + interp_precision = np.interp(mean_recall, pr_display.recall[::-1], pr_display.precision[::-1]) + precisions.append(interp_precision) + pr_aucs.append(pr_display.average_precision) # Plot diagonal line for random guessing in ROC curve axes[model_idx][0].plot([0, 1], [0, 1], linestyle='--', lw=2, color='r', alpha=.8, label='Random guessing') # Compute mean ROC curve diff --git a/model_selection/output_cv_metrics/curves/pre_ORIG.svg b/model_selection/output_cv_metrics/curves/pre_ORIG.svg index c273a24..cb8a485 100644 --- a/model_selection/output_cv_metrics/curves/pre_ORIG.svg +++ b/model_selection/output_cv_metrics/curves/pre_ORIG.svg @@ -6,7 +6,7 @@ - 2024-05-24T11:46:13.882879 + 2024-05-24T11:50:15.504371 image/svg+xml @@ -30,10 +30,10 @@ z - @@ -41,17 +41,17 @@ z - - + - + - + - + - + - + - + - + - + - + - + - + - + - - + - + @@ -659,12 +659,12 @@ L -3.5 0 - + - + @@ -674,12 +674,12 @@ L -3.5 0 - + - + @@ -689,12 +689,12 @@ L -3.5 0 - + - + @@ -704,12 +704,12 @@ L -3.5 0 - + - + @@ -719,12 +719,12 @@ L -3.5 0 - + - + @@ -733,7 +733,7 @@ L -3.5 0 - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - + - - - - + + - + - - - + + @@ -1372,19 +1371,19 @@ L 215.1875 269.229063 - + - - - + + @@ -1406,19 +1405,19 @@ L 215.1875 283.907187 - + - - - + + - + - - - + + + + + @@ -1508,19 +1519,19 @@ L 215.1875 313.263437 - + - - - + + @@ -1542,19 +1553,19 @@ L 215.1875 327.941563 - + - - - + + @@ -1576,31 +1587,19 @@ L 215.1875 342.619688 - + - - - - - + @@ -1627,14 +1626,14 @@ z - - - + + @@ -1656,19 +1655,19 @@ L 215.1875 371.975938 - + - - + - - + - - + - @@ -1902,12 +1901,12 @@ z - + - + @@ -1917,12 +1916,12 @@ z - + - + @@ -1932,12 +1931,12 @@ z - + - + @@ -1947,12 +1946,12 @@ z - + - + @@ -1962,12 +1961,12 @@ z - + - + @@ -1977,12 +1976,12 @@ z - + - + @@ -1991,7 +1990,7 @@ z - + - + - + @@ -2063,12 +2062,12 @@ z - + - + @@ -2078,12 +2077,12 @@ z - + - + @@ -2093,12 +2092,12 @@ z - + - + @@ -2108,12 +2107,12 @@ z - + - + @@ -2123,12 +2122,12 @@ z - + - + @@ -2137,7 +2136,7 @@ z - + @@ -2171,218 +2170,216 @@ z - + - + - + - + - + - + - + - + - + - + - + - + - - - - - + @@ -2425,29 +2422,29 @@ L 709.2 123.71 - - - + @@ -2472,16 +2469,16 @@ L 579.671875 254.550938 - - + @@ -2506,16 +2503,16 @@ L 579.671875 269.229063 - - + @@ -2540,16 +2537,16 @@ L 579.671875 283.907187 - - + @@ -2574,16 +2571,16 @@ L 579.671875 298.585313 - - + @@ -2608,16 +2605,16 @@ L 579.671875 313.263437 - - - + + @@ -2637,21 +2634,21 @@ L 579.671875 327.941563 - + - - + @@ -2676,16 +2673,16 @@ L 579.671875 342.619688 - - + @@ -2710,16 +2707,16 @@ L 579.671875 357.297812 - - + @@ -2744,16 +2741,16 @@ L 579.671875 371.975938 - - + @@ -2778,14 +2775,14 @@ L 579.671875 386.654062 - - + @@ -2809,14 +2806,14 @@ L 579.671875 401.332188 - - + - @@ -2876,12 +2873,12 @@ z - + - + @@ -2891,12 +2888,12 @@ z - + - + @@ -2906,12 +2903,12 @@ z - + - + @@ -2921,12 +2918,12 @@ z - + - + @@ -2936,12 +2933,12 @@ z - + - + @@ -2951,29 +2948,73 @@ z - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + @@ -2983,12 +3024,12 @@ z - + - + - + @@ -2998,12 +3039,12 @@ z - + - + - + @@ -3013,12 +3054,12 @@ z - + - + - + @@ -3028,12 +3069,12 @@ z - + - + - + @@ -3043,150 +3084,1001 @@ z - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + - + @@ -3216,1697 +4108,3124 @@ L 354.6 587.46 - - - + + - - - + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - + + - - - + + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + - - - + + + + + + + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - + - - + - - - + + + @@ -4919,1734 +7238,5869 @@ L 354.6 1740.78 - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - + + - - + + - - - + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + - - + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - + - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + - - + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + - - + + - - + + - - + + - - + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6659,849 +13113,37594 @@ z - - - - - - - - - - - - - + + + + + + + + + + + + + - - - + + - - + + - - - + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - +" style="fill: #ffffff; opacity: 0.8; stroke: #cccccc; stroke-linejoin: miter"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + - - - + + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + - - + + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - + - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + @@ -8470,15 +71661,15 @@ L 216.246875 4550.862187 - - + - - - + + + @@ -8498,7 +71689,7 @@ L 216.246875 4565.540312 - + @@ -8506,23 +71697,23 @@ L 216.246875 4565.540312 - - + - + - + - + @@ -8530,14 +71721,14 @@ z - + - + - + - + @@ -8545,14 +71736,14 @@ z - + - + - + - + @@ -8560,14 +71751,14 @@ z - + - + - + - + @@ -8575,14 +71766,14 @@ z - + - + - + - + @@ -8590,31 +71781,62 @@ z - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + @@ -8622,14 +71844,14 @@ z - + - + - + - + @@ -8637,14 +71859,14 @@ z - + - + - + - + @@ -8652,14 +71874,14 @@ z - + - + - + - + @@ -8667,14 +71889,14 @@ z - + - + - + - + @@ -8682,152 +71904,11678 @@ z - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + - + @@ -8871,27 +83619,367 @@ L 709.2 4047.42 - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + @@ -8909,20 +83997,20 @@ L 579.671875 4550.862187 - - + + - - + - + - + @@ -8937,53 +84025,53 @@ L 579.671875 4565.540312 - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + diff --git a/model_selection/output_cv_metrics/metrics.xlsx b/model_selection/output_cv_metrics/metrics.xlsx index 65dbe41df6cb6c855b4c07baf54cc7f26f27c571..166806ae5e02290c4405c93daeffc8af5eda1234 100644 GIT binary patch delta 5854 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