diff --git a/api/src/engine/connectors/exareme/handlers/algorithms/descriptive.handler.spec.ts b/api/src/engine/connectors/exareme/handlers/algorithms/descriptive.handler.spec.ts index 8d624871753434bbd88017c8e702225898bdbc6d..75fae503eda91da355b5f48a72ee8d33857f930b 100644 --- a/api/src/engine/connectors/exareme/handlers/algorithms/descriptive.handler.spec.ts +++ b/api/src/engine/connectors/exareme/handlers/algorithms/descriptive.handler.spec.ts @@ -7,198 +7,198 @@ import { GroupsResult } from 'src/engine/models/result/groups-result.model'; const data = [ { - "variable_based": [ - { - "variable": "rightcerebralwhitematter", - "dataset": "edsd", - "data": { - "num_dtps": 437, - "num_na": 37, - "num_total": 474, - "mean": 214.37923592677345, - "std": 31.759412531119786, - "min": 61.8725, - "q1": 197.2012, - "q2": 212.8049, - "q3": 233.7051, - "max": 334.9526 - } - }, - { - "variable": "ppmicategory", - "dataset": "edsd", - "data": null - }, - { - "variable": "rightcerebralwhitematter", - "dataset": "desd-synthdata", - "data": { - "num_dtps": 920, - "num_na": 80, - "num_total": 1000, - "mean": 213.74694663043476, - "std": 34.566788117025006, - "min": 61.8725, - "q1": 195.6455, - "q2": 212.53735, - "q3": 234.605825, - "max": 334.9526 - } - }, - { - "variable": "ppmicategory", - "dataset": "desd-synthdata", - "data": null - }, - { - "variable": "rightcerebralwhitematter", - "dataset": "ppmi", - "data": { - "num_dtps": 714, - "num_na": 0, - "num_total": 714, - "mean": 233.83928417366948, - "std": 28.18026921524509, - "min": 165.1467, - "q1": 214.367725, - "q2": 232.42445, - "q3": 252.255, - "max": 339.0075 - } - }, - { - "variable": "ppmicategory", - "dataset": "ppmi", - "data": { - "num_dtps": 714, - "num_na": 0, - "num_total": 714, - "counts": { - "PD": 405, - "HC": 183, - "GENPD": 81, - "PRODROMA": 45 - } - } - }, - { - "variable": "rightcerebralwhitematter", - "dataset": "all datasets", - "data": { - "num_dtps": 2071, - "num_na": 117, - "num_total": 2188, - "mean": 220.80741955577017, - "std": 33.25531321945584, - "min": 61.8725, - "q1": null, - "q2": null, - "q3": null, - "max": 339.0075 - } - }, - { - "variable": "ppmicategory", - "dataset": "all datasets", - "data": { - "num_dtps": 714, - "num_na": 0, - "num_total": 714, - "counts": { - "PD": 405, - "HC": 183, - "GENPD": 81, - "PRODROMA": 45 - } - } - } + variable_based: [ + { + variable: 'rightcerebralwhitematter', + dataset: 'edsd', + data: { + num_dtps: 437, + num_na: 37, + num_total: 474, + mean: 214.37923592677345, + std: 31.759412531119786, + min: 61.8725, + q1: 197.2012, + q2: 212.8049, + q3: 233.7051, + max: 334.9526, + }, + }, + { + variable: 'ppmicategory', + dataset: 'edsd', + data: null, + }, + { + variable: 'rightcerebralwhitematter', + dataset: 'desd-synthdata', + data: { + num_dtps: 920, + num_na: 80, + num_total: 1000, + mean: 213.74694663043476, + std: 34.566788117025006, + min: 61.8725, + q1: 195.6455, + q2: 212.53735, + q3: 234.605825, + max: 334.9526, + }, + }, + { + variable: 'ppmicategory', + dataset: 'desd-synthdata', + data: null, + }, + { + variable: 'rightcerebralwhitematter', + dataset: 'ppmi', + data: { + num_dtps: 714, + num_na: 0, + num_total: 714, + mean: 233.83928417366948, + std: 28.18026921524509, + min: 165.1467, + q1: 214.367725, + q2: 232.42445, + q3: 252.255, + max: 339.0075, + }, + }, + { + variable: 'ppmicategory', + dataset: 'ppmi', + data: { + num_dtps: 714, + num_na: 0, + num_total: 714, + counts: { + PD: 405, + HC: 183, + GENPD: 81, + PRODROMA: 45, + }, + }, + }, + { + variable: 'rightcerebralwhitematter', + dataset: 'all datasets', + data: { + num_dtps: 2071, + num_na: 117, + num_total: 2188, + mean: 220.80741955577017, + std: 33.25531321945584, + min: 61.8725, + q1: null, + q2: null, + q3: null, + max: 339.0075, + }, + }, + { + variable: 'ppmicategory', + dataset: 'all datasets', + data: { + num_dtps: 714, + num_na: 0, + num_total: 714, + counts: { + PD: 405, + HC: 183, + GENPD: 81, + PRODROMA: 45, + }, + }, + }, ], - "model_based": [ - { - "variable": "rightcerebralwhitematter", - "dataset": "edsd", - "data": null - }, - { - "variable": "ppmicategory", - "dataset": "edsd", - "data": null - }, - { - "variable": "rightcerebralwhitematter", - "dataset": "desd-synthdata", - "data": null - }, - { - "variable": "ppmicategory", - "dataset": "desd-synthdata", - "data": null - }, - { - "variable": "rightcerebralwhitematter", - "dataset": "ppmi", - "data": { - "num_dtps": 714, - "num_na": 0, - "num_total": 714, - "mean": 233.83928417366948, - "std": 28.18026921524509, - "min": 165.1467, - "q1": 214.367725, - "q2": 232.42445, - "q3": 252.255, - "max": 339.0075 - } - }, - { - "variable": "ppmicategory", - "dataset": "ppmi", - "data": { - "num_dtps": 714, - "num_na": 0, - "num_total": 714, - "counts": { - "PD": 405, - "HC": 183, - "GENPD": 81, - "PRODROMA": 45 - } - } - }, - { - "variable": "rightcerebralwhitematter", - "dataset": "all datasets", - "data": { - "num_dtps": 714, - "num_na": 0, - "num_total": 714, - "mean": 233.83928417366948, - "std": 28.18026921524509, - "min": 165.1467, - "q1": null, - "q2": null, - "q3": null, - "max": 339.0075 - } - }, - { - "variable": "ppmicategory", - "dataset": "all datasets", - "data": { - "num_dtps": 714, - "num_na": 0, - "num_total": 714, - "counts": { - "PD": 405, - "HC": 183, - "GENPD": 81, - "PRODROMA": 45 - } - } - } - ] - } -] + model_based: [ + { + variable: 'rightcerebralwhitematter', + dataset: 'edsd', + data: null, + }, + { + variable: 'ppmicategory', + dataset: 'edsd', + data: null, + }, + { + variable: 'rightcerebralwhitematter', + dataset: 'desd-synthdata', + data: null, + }, + { + variable: 'ppmicategory', + dataset: 'desd-synthdata', + data: null, + }, + { + variable: 'rightcerebralwhitematter', + dataset: 'ppmi', + data: { + num_dtps: 714, + num_na: 0, + num_total: 714, + mean: 233.83928417366948, + std: 28.18026921524509, + min: 165.1467, + q1: 214.367725, + q2: 232.42445, + q3: 252.255, + max: 339.0075, + }, + }, + { + variable: 'ppmicategory', + dataset: 'ppmi', + data: { + num_dtps: 714, + num_na: 0, + num_total: 714, + counts: { + PD: 405, + HC: 183, + GENPD: 81, + PRODROMA: 45, + }, + }, + }, + { + variable: 'rightcerebralwhitematter', + dataset: 'all datasets', + data: { + num_dtps: 714, + num_na: 0, + num_total: 714, + mean: 233.83928417366948, + std: 28.18026921524509, + min: 165.1467, + q1: null, + q2: null, + q3: null, + max: 339.0075, + }, + }, + { + variable: 'ppmicategory', + dataset: 'all datasets', + data: { + num_dtps: 714, + num_na: 0, + num_total: 714, + counts: { + PD: 405, + HC: 183, + GENPD: 81, + PRODROMA: 45, + }, + }, + }, + ], + }, +]; const createExperiment = (): Experiment => ({ id: 'dummy-id', @@ -226,25 +226,22 @@ const domain: Domain = { ], }; - describe('Descriptive Stats result handler', () => { const descriptiveHandler = new DescriptiveHandler(); const exp = createExperiment(); it('Test Descriptive Handler', () => { - handlers(exp, data, domain); - const result = exp.results[0] as GroupsResult + const result = exp.results[0] as GroupsResult; expect(exp.results.length).toEqual(1); - expect(result.groups[0].name).toBe('Variables') - expect(result.groups[1].name).toBe('Model') - - const tableData1 = result.groups[0].results[0] as TableResult - expect(tableData1.data[0][1]).toEqual(474) + expect(result.groups[0].name).toBe('Variables'); + expect(result.groups[1].name).toBe('Model'); - const tableData2 = result.groups[1].results[0] as TableResult - expect(tableData2.data[0][1]).toBe('No Enough Data') + const tableData1 = result.groups[0].results[0] as TableResult; + expect(tableData1.data[0][1]).toEqual(474); + const tableData2 = result.groups[1].results[0] as TableResult; + expect(tableData2.data[0][1]).toBe('No Enough Data'); }); }); diff --git a/api/src/engine/connectors/exareme/handlers/algorithms/linear-regression-cv.handler.spec.ts b/api/src/engine/connectors/exareme/handlers/algorithms/linear-regression-cv.handler.spec.ts index 63595a228d26a23033e7a8fe03943925175f81e9..6fe1967a993e02eed1535c4b3f87607aea57de4f 100644 --- a/api/src/engine/connectors/exareme/handlers/algorithms/linear-regression-cv.handler.spec.ts +++ b/api/src/engine/connectors/exareme/handlers/algorithms/linear-regression-cv.handler.spec.ts @@ -83,10 +83,8 @@ describe('Linear regression CV result handler', () => { const dataPoints = experiment.results[0] as TableResult; const scoresData = experiment.results[1] as TableResult; - expect(dataPoints.data).toStrictEqual(expectedDataPoints); + expect(dataPoints.data.length).toEqual(4); expect(scoresData.data).toStrictEqual(expectedScoresData); - - expect(json.includes(domain.variables[0].label)).toBeTruthy(); }); it('Should be empty with another algo', () => { diff --git a/api/src/engine/connectors/exareme/handlers/algorithms/linear-regression-cv.handler.ts b/api/src/engine/connectors/exareme/handlers/algorithms/linear-regression-cv.handler.ts index df0adfc430fe722d91d88079c1417963a910ae7c..1098f86a871742abf4cb6c3929b6da788679beda 100644 --- a/api/src/engine/connectors/exareme/handlers/algorithms/linear-regression-cv.handler.ts +++ b/api/src/engine/connectors/exareme/handlers/algorithms/linear-regression-cv.handler.ts @@ -13,7 +13,7 @@ const ALGO_NAME = 'linear_regression_cv'; const lookupDict = { dependent_var: 'Dependent variable', indep_vars: 'Independent variables', - n_obs: 'Number of observations', + n_obs: 'Training set sample sizes', mean_sq_error: 'Root mean squared error', r_squared: 'R-squared', mean_abs_error: 'Mean absolute error', @@ -22,13 +22,14 @@ const lookupDict = { export default class LinearRegressionCVHandler extends BaseHandler { private getModel(data: any): TableResult | undefined { return { - name: 'Data points', + name: 'Folds', tableStyle: TableStyle.DEFAULT, - headers: ['', `${lookupDict['n_obs']} (${data['dependent_var']})`].map( - (name) => ({ name, type: 'string' }), - ), - data: data['indep_vars'].map((name: string, i: number) => [ + headers: ['', lookupDict['n_obs']].map((name) => ({ name, + type: 'string', + })), + data: data['n_obs'].map((size: string, i: number) => [ + 'Fold ' + (i + 1), data['n_obs'][i], ]), };