Skip to content
Snippets Groups Projects
Commit c0563c25 authored by Steve Reis's avatar Steve Reis
Browse files

Merge branch 'sprint-1/issue-66' into 'beta'

[SPRINT-1][Issue-66] Issue with Linear reg cv result

See merge request sibmip/gateway!106
parents 8f3473ea 35a2ec41
No related branches found
No related tags found
No related merge requests found
......@@ -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');
});
});
......@@ -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', () => {
......
......@@ -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],
]),
};
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment