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

Specifies a metric to minimize or maximize as the objective of a * job.

See Also:

AWS * API Reference

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

The name of the objective metric used to measure the predictive quality of a * machine learning system. During training, the model's parameters are updated * iteratively to optimize its performance based on the feedback provided by the * objective metric when evaluating the model on the validation dataset.

For * the list of all available metrics supported by Autopilot, see Autopilot * metrics.

If you do not specify a metric explicitly, the default * behavior is to automatically use:

  • For tabular problem * types:

    • Regression: MSE.

    • Binary * classification: F1.

    • Multiclass classification: * Accuracy.

  • For image or text * classification problem types: Accuracy

  • For * time-series forecasting problem types: AverageWeightedQuantileLoss *

*/ inline const AutoMLMetricEnum& GetMetricName() const{ return m_metricName; } /** *

The name of the objective metric used to measure the predictive quality of a * machine learning system. During training, the model's parameters are updated * iteratively to optimize its performance based on the feedback provided by the * objective metric when evaluating the model on the validation dataset.

For * the list of all available metrics supported by Autopilot, see Autopilot * metrics.

If you do not specify a metric explicitly, the default * behavior is to automatically use:

  • For tabular problem * types:

    • Regression: MSE.

    • Binary * classification: F1.

    • Multiclass classification: * Accuracy.

  • For image or text * classification problem types: Accuracy

  • For * time-series forecasting problem types: AverageWeightedQuantileLoss *

*/ inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; } /** *

The name of the objective metric used to measure the predictive quality of a * machine learning system. During training, the model's parameters are updated * iteratively to optimize its performance based on the feedback provided by the * objective metric when evaluating the model on the validation dataset.

For * the list of all available metrics supported by Autopilot, see Autopilot * metrics.

If you do not specify a metric explicitly, the default * behavior is to automatically use:

  • For tabular problem * types:

    • Regression: MSE.

    • Binary * classification: F1.

    • Multiclass classification: * Accuracy.

  • For image or text * classification problem types: Accuracy

  • For * time-series forecasting problem types: AverageWeightedQuantileLoss *

*/ inline void SetMetricName(const AutoMLMetricEnum& value) { m_metricNameHasBeenSet = true; m_metricName = value; } /** *

The name of the objective metric used to measure the predictive quality of a * machine learning system. During training, the model's parameters are updated * iteratively to optimize its performance based on the feedback provided by the * objective metric when evaluating the model on the validation dataset.

For * the list of all available metrics supported by Autopilot, see Autopilot * metrics.

If you do not specify a metric explicitly, the default * behavior is to automatically use:

  • For tabular problem * types:

    • Regression: MSE.

    • Binary * classification: F1.

    • Multiclass classification: * Accuracy.

  • For image or text * classification problem types: Accuracy

  • For * time-series forecasting problem types: AverageWeightedQuantileLoss *

*/ inline void SetMetricName(AutoMLMetricEnum&& value) { m_metricNameHasBeenSet = true; m_metricName = std::move(value); } /** *

The name of the objective metric used to measure the predictive quality of a * machine learning system. During training, the model's parameters are updated * iteratively to optimize its performance based on the feedback provided by the * objective metric when evaluating the model on the validation dataset.

For * the list of all available metrics supported by Autopilot, see Autopilot * metrics.

If you do not specify a metric explicitly, the default * behavior is to automatically use:

  • For tabular problem * types:

    • Regression: MSE.

    • Binary * classification: F1.

    • Multiclass classification: * Accuracy.

  • For image or text * classification problem types: Accuracy

  • For * time-series forecasting problem types: AverageWeightedQuantileLoss *

*/ inline AutoMLJobObjective& WithMetricName(const AutoMLMetricEnum& value) { SetMetricName(value); return *this;} /** *

The name of the objective metric used to measure the predictive quality of a * machine learning system. During training, the model's parameters are updated * iteratively to optimize its performance based on the feedback provided by the * objective metric when evaluating the model on the validation dataset.

For * the list of all available metrics supported by Autopilot, see Autopilot * metrics.

If you do not specify a metric explicitly, the default * behavior is to automatically use:

  • For tabular problem * types:

    • Regression: MSE.

    • Binary * classification: F1.

    • Multiclass classification: * Accuracy.

  • For image or text * classification problem types: Accuracy

  • For * time-series forecasting problem types: AverageWeightedQuantileLoss *

*/ inline AutoMLJobObjective& WithMetricName(AutoMLMetricEnum&& value) { SetMetricName(std::move(value)); return *this;} private: AutoMLMetricEnum m_metricName; bool m_metricNameHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws