/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ForecastService { namespace Model { /** *

Provides metrics that are used to evaluate the performance of a predictor. * This object is part of the WindowSummary object.

See Also:

* AWS * API Reference

*/ class Metrics { public: AWS_FORECASTSERVICE_API Metrics(); AWS_FORECASTSERVICE_API Metrics(Aws::Utils::Json::JsonView jsonValue); AWS_FORECASTSERVICE_API Metrics& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_FORECASTSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

An array of weighted quantile losses. Quantiles divide a probability * distribution into regions of equal probability. The distribution in this case is * the loss function.

*/ inline const Aws::Vector& GetWeightedQuantileLosses() const{ return m_weightedQuantileLosses; } /** *

An array of weighted quantile losses. Quantiles divide a probability * distribution into regions of equal probability. The distribution in this case is * the loss function.

*/ inline bool WeightedQuantileLossesHasBeenSet() const { return m_weightedQuantileLossesHasBeenSet; } /** *

An array of weighted quantile losses. Quantiles divide a probability * distribution into regions of equal probability. The distribution in this case is * the loss function.

*/ inline void SetWeightedQuantileLosses(const Aws::Vector& value) { m_weightedQuantileLossesHasBeenSet = true; m_weightedQuantileLosses = value; } /** *

An array of weighted quantile losses. Quantiles divide a probability * distribution into regions of equal probability. The distribution in this case is * the loss function.

*/ inline void SetWeightedQuantileLosses(Aws::Vector&& value) { m_weightedQuantileLossesHasBeenSet = true; m_weightedQuantileLosses = std::move(value); } /** *

An array of weighted quantile losses. Quantiles divide a probability * distribution into regions of equal probability. The distribution in this case is * the loss function.

*/ inline Metrics& WithWeightedQuantileLosses(const Aws::Vector& value) { SetWeightedQuantileLosses(value); return *this;} /** *

An array of weighted quantile losses. Quantiles divide a probability * distribution into regions of equal probability. The distribution in this case is * the loss function.

*/ inline Metrics& WithWeightedQuantileLosses(Aws::Vector&& value) { SetWeightedQuantileLosses(std::move(value)); return *this;} /** *

An array of weighted quantile losses. Quantiles divide a probability * distribution into regions of equal probability. The distribution in this case is * the loss function.

*/ inline Metrics& AddWeightedQuantileLosses(const WeightedQuantileLoss& value) { m_weightedQuantileLossesHasBeenSet = true; m_weightedQuantileLosses.push_back(value); return *this; } /** *

An array of weighted quantile losses. Quantiles divide a probability * distribution into regions of equal probability. The distribution in this case is * the loss function.

*/ inline Metrics& AddWeightedQuantileLosses(WeightedQuantileLoss&& value) { m_weightedQuantileLossesHasBeenSet = true; m_weightedQuantileLosses.push_back(std::move(value)); return *this; } /** *

Provides detailed error metrics for each forecast type. Metrics include * root-mean square-error (RMSE), mean absolute percentage error (MAPE), mean * absolute scaled error (MASE), and weighted average percentage error (WAPE).

*/ inline const Aws::Vector& GetErrorMetrics() const{ return m_errorMetrics; } /** *

Provides detailed error metrics for each forecast type. Metrics include * root-mean square-error (RMSE), mean absolute percentage error (MAPE), mean * absolute scaled error (MASE), and weighted average percentage error (WAPE).

*/ inline bool ErrorMetricsHasBeenSet() const { return m_errorMetricsHasBeenSet; } /** *

Provides detailed error metrics for each forecast type. Metrics include * root-mean square-error (RMSE), mean absolute percentage error (MAPE), mean * absolute scaled error (MASE), and weighted average percentage error (WAPE).

*/ inline void SetErrorMetrics(const Aws::Vector& value) { m_errorMetricsHasBeenSet = true; m_errorMetrics = value; } /** *

Provides detailed error metrics for each forecast type. Metrics include * root-mean square-error (RMSE), mean absolute percentage error (MAPE), mean * absolute scaled error (MASE), and weighted average percentage error (WAPE).

*/ inline void SetErrorMetrics(Aws::Vector&& value) { m_errorMetricsHasBeenSet = true; m_errorMetrics = std::move(value); } /** *

Provides detailed error metrics for each forecast type. Metrics include * root-mean square-error (RMSE), mean absolute percentage error (MAPE), mean * absolute scaled error (MASE), and weighted average percentage error (WAPE).

*/ inline Metrics& WithErrorMetrics(const Aws::Vector& value) { SetErrorMetrics(value); return *this;} /** *

Provides detailed error metrics for each forecast type. Metrics include * root-mean square-error (RMSE), mean absolute percentage error (MAPE), mean * absolute scaled error (MASE), and weighted average percentage error (WAPE).

*/ inline Metrics& WithErrorMetrics(Aws::Vector&& value) { SetErrorMetrics(std::move(value)); return *this;} /** *

Provides detailed error metrics for each forecast type. Metrics include * root-mean square-error (RMSE), mean absolute percentage error (MAPE), mean * absolute scaled error (MASE), and weighted average percentage error (WAPE).

*/ inline Metrics& AddErrorMetrics(const ErrorMetric& value) { m_errorMetricsHasBeenSet = true; m_errorMetrics.push_back(value); return *this; } /** *

Provides detailed error metrics for each forecast type. Metrics include * root-mean square-error (RMSE), mean absolute percentage error (MAPE), mean * absolute scaled error (MASE), and weighted average percentage error (WAPE).

*/ inline Metrics& AddErrorMetrics(ErrorMetric&& value) { m_errorMetricsHasBeenSet = true; m_errorMetrics.push_back(std::move(value)); return *this; } /** *

The average value of all weighted quantile losses.

*/ inline double GetAverageWeightedQuantileLoss() const{ return m_averageWeightedQuantileLoss; } /** *

The average value of all weighted quantile losses.

*/ inline bool AverageWeightedQuantileLossHasBeenSet() const { return m_averageWeightedQuantileLossHasBeenSet; } /** *

The average value of all weighted quantile losses.

*/ inline void SetAverageWeightedQuantileLoss(double value) { m_averageWeightedQuantileLossHasBeenSet = true; m_averageWeightedQuantileLoss = value; } /** *

The average value of all weighted quantile losses.

*/ inline Metrics& WithAverageWeightedQuantileLoss(double value) { SetAverageWeightedQuantileLoss(value); return *this;} private: Aws::Vector m_weightedQuantileLosses; bool m_weightedQuantileLossesHasBeenSet = false; Aws::Vector m_errorMetrics; bool m_errorMetricsHasBeenSet = false; double m_averageWeightedQuantileLoss; bool m_averageWeightedQuantileLossHasBeenSet = false; }; } // namespace Model } // namespace ForecastService } // namespace Aws