diff --git a/x-pack/plugins/ml/public/application/data_frame_analytics/common/analytics.test.ts b/x-pack/plugins/ml/public/application/data_frame_analytics/common/analytics.test.ts index 47badfe94f1ca5..0cd4d190ebbbd6 100644 --- a/x-pack/plugins/ml/public/application/data_frame_analytics/common/analytics.test.ts +++ b/x-pack/plugins/ml/public/application/data_frame_analytics/common/analytics.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { getAnalysisType, isOutlierAnalysis } from './analytics'; +import { getAnalysisType, getValuesFromResponse, isOutlierAnalysis } from './analytics'; describe('Data Frame Analytics: Analytics utils', () => { test('getAnalysisType()', () => { @@ -35,4 +35,22 @@ describe('Data Frame Analytics: Analytics utils', () => { const unknownAnalysis = { outlier_detection: {}, regression: {} }; expect(isOutlierAnalysis(unknownAnalysis)).toBe(false); }); + + test('getValuesFromResponse()', () => { + const evalResponse: any = { + regression: { + huber: { value: 'NaN' }, + mse: { value: 7.514953437693147 }, + msle: { value: 'Infinity' }, + r_squared: { value: 0.9837343227799651 }, + }, + }; + const expectedResponse = { + mse: 7.51, + msle: 'Infinity', + huber: 'NaN', + r_squared: 0.984, + }; + expect(getValuesFromResponse(evalResponse)).toEqual(expectedResponse); + }); }); diff --git a/x-pack/plugins/ml/public/application/data_frame_analytics/common/analytics.ts b/x-pack/plugins/ml/public/application/data_frame_analytics/common/analytics.ts index 1c13177e44e7fc..d1e8af267d3244 100644 --- a/x-pack/plugins/ml/public/application/data_frame_analytics/common/analytics.ts +++ b/x-pack/plugins/ml/public/application/data_frame_analytics/common/analytics.ts @@ -352,7 +352,7 @@ export function getValuesFromResponse(response: RegressionEvaluateResponse) { if (response.regression.hasOwnProperty(statType)) { let currentStatValue = response.regression[statType as keyof RegressionEvaluateResponse['regression']]?.value; - if (currentStatValue && !isNaN(currentStatValue)) { + if (currentStatValue && Number.isFinite(currentStatValue)) { currentStatValue = Number(currentStatValue.toPrecision(DEFAULT_SIG_FIGS)); } results[statType as keyof RegressionEvaluateExtractedResponse] = currentStatValue;