From bac2951f608076e6863a418d62f1d9ab0b27964f Mon Sep 17 00:00:00 2001
From: Steve Reis <stevereis93@gmail.com>
Date: Tue, 17 Jan 2023 18:03:13 +0100
Subject: [PATCH] fix: enabled LR Cross-Validation, Cast numbers -> strings

---
 .../algorithms/logistic-regression-cv.handler.ts      | 11 +++++------
 .../exareme/transformations/algorithms/index.ts       |  2 +-
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/api/src/engine/connectors/exareme/handlers/algorithms/logistic-regression-cv.handler.ts b/api/src/engine/connectors/exareme/handlers/algorithms/logistic-regression-cv.handler.ts
index 2edb63d..cded114 100644
--- a/api/src/engine/connectors/exareme/handlers/algorithms/logistic-regression-cv.handler.ts
+++ b/api/src/engine/connectors/exareme/handlers/algorithms/logistic-regression-cv.handler.ts
@@ -47,7 +47,7 @@ export default class LogisticRegressionCVHandler extends BaseHandler {
   private canHandle(experiment: Experiment, data: unknown): boolean {
     return (
       experiment.algorithm.name.toLowerCase() ===
-        LogisticRegressionCVHandler.ALGO_NAME &&
+      LogisticRegressionCVHandler.ALGO_NAME &&
       !!data &&
       !!data[0] &&
       !!data[0]['summary']
@@ -61,10 +61,7 @@ export default class LogisticRegressionCVHandler extends BaseHandler {
         name: lookupDict[key],
         type: 'string',
       })),
-      data: data.summary['row_names'].map((key: any, i: number) => {
-        // could be optimized
-        return [key, ...keys.map((k) => data['summary'][k][i])];
-      }),
+      data: data.summary['row_names'].map((key: any, i: number) => [key, ...keys.map((k) => `${data['summary'][k][i]}`)])
     };
   }
 
@@ -131,6 +128,8 @@ export default class LogisticRegressionCVHandler extends BaseHandler {
       this.getROC(improvedData),
     ];
 
-    results.filter((r) => !!r).forEach((r) => experiment.results.push(r));
+    results.filter((r) => !!r).forEach((r) => {
+      experiment.results.push(r);
+    });
   }
 }
diff --git a/api/src/engine/connectors/exareme/transformations/algorithms/index.ts b/api/src/engine/connectors/exareme/transformations/algorithms/index.ts
index e32d56f..bee4e4a 100644
--- a/api/src/engine/connectors/exareme/transformations/algorithms/index.ts
+++ b/api/src/engine/connectors/exareme/transformations/algorithms/index.ts
@@ -9,7 +9,7 @@ const transformToAlgorithms = jsonata(`
     $checkVal:= function($val) { $val ? $val : undefined};
     $excludedParams:= ['centers', 'formula'];
     $includes:= ['ANOVA_ONEWAY','ANOVA','LINEAR_REGRESSION',
-    'LOGISTIC_REGRESSION','TTEST_INDEPENDENT','TTEST_PAIRED',
+    'LOGISTIC_REGRESSION', 'LOGISTIC_REGRESSION_CV','TTEST_INDEPENDENT','TTEST_PAIRED',
     'PEARSON','ID3','KMEANS','NAIVE_BAYES',
     'TTEST_ONESAMPLE','PCA','CALIBRATION_BELT','CART',
     'KAPLAN_MEIER','THREE_C', 'ONE_WAY_ANOVA', 'PEARSON_CORRELATION', 'LINEAR_REGRESSION_CV', 'TTEST_ONESAMPLE', 'PAIRED_TTEST'];
-- 
GitLab