<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/aiplatform/v1/explanation.proto

namespace Google\Cloud\AIPlatform\V1;

use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;

/**
 * Aggregated explanation metrics for a Model over a set of instances.
 *
 * Generated from protobuf message <code>google.cloud.aiplatform.v1.ModelExplanation</code>
 */
class ModelExplanation extends \Google\Protobuf\Internal\Message
{
    /**
     * Output only. Aggregated attributions explaining the Model's prediction
     * outputs over the set of instances. The attributions are grouped by outputs.
     * For Models that predict only one output, such as regression Models that
     * predict only one score, there is only one attibution that explains the
     * predicted output. For Models that predict multiple outputs, such as
     * multiclass Models that predict multiple classes, each element explains one
     * specific item.
     * [Attribution.output_index][google.cloud.aiplatform.v1.Attribution.output_index]
     * can be used to identify which output this attribution is explaining.
     * The
     * [baselineOutputValue][google.cloud.aiplatform.v1.Attribution.baseline_output_value],
     * [instanceOutputValue][google.cloud.aiplatform.v1.Attribution.instance_output_value]
     * and
     * [featureAttributions][google.cloud.aiplatform.v1.Attribution.feature_attributions]
     * fields are averaged over the test data.
     * NOTE: Currently AutoML tabular classification Models produce only one
     * attribution, which averages attributions over all the classes it predicts.
     * [Attribution.approximation_error][google.cloud.aiplatform.v1.Attribution.approximation_error]
     * is not populated.
     *
     * Generated from protobuf field <code>repeated .google.cloud.aiplatform.v1.Attribution mean_attributions = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    private $mean_attributions;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type array<\Google\Cloud\AIPlatform\V1\Attribution>|\Google\Protobuf\Internal\RepeatedField $mean_attributions
     *           Output only. Aggregated attributions explaining the Model's prediction
     *           outputs over the set of instances. The attributions are grouped by outputs.
     *           For Models that predict only one output, such as regression Models that
     *           predict only one score, there is only one attibution that explains the
     *           predicted output. For Models that predict multiple outputs, such as
     *           multiclass Models that predict multiple classes, each element explains one
     *           specific item.
     *           [Attribution.output_index][google.cloud.aiplatform.v1.Attribution.output_index]
     *           can be used to identify which output this attribution is explaining.
     *           The
     *           [baselineOutputValue][google.cloud.aiplatform.v1.Attribution.baseline_output_value],
     *           [instanceOutputValue][google.cloud.aiplatform.v1.Attribution.instance_output_value]
     *           and
     *           [featureAttributions][google.cloud.aiplatform.v1.Attribution.feature_attributions]
     *           fields are averaged over the test data.
     *           NOTE: Currently AutoML tabular classification Models produce only one
     *           attribution, which averages attributions over all the classes it predicts.
     *           [Attribution.approximation_error][google.cloud.aiplatform.v1.Attribution.approximation_error]
     *           is not populated.
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Google\Cloud\Aiplatform\V1\Explanation::initOnce();
        parent::__construct($data);
    }

    /**
     * Output only. Aggregated attributions explaining the Model's prediction
     * outputs over the set of instances. The attributions are grouped by outputs.
     * For Models that predict only one output, such as regression Models that
     * predict only one score, there is only one attibution that explains the
     * predicted output. For Models that predict multiple outputs, such as
     * multiclass Models that predict multiple classes, each element explains one
     * specific item.
     * [Attribution.output_index][google.cloud.aiplatform.v1.Attribution.output_index]
     * can be used to identify which output this attribution is explaining.
     * The
     * [baselineOutputValue][google.cloud.aiplatform.v1.Attribution.baseline_output_value],
     * [instanceOutputValue][google.cloud.aiplatform.v1.Attribution.instance_output_value]
     * and
     * [featureAttributions][google.cloud.aiplatform.v1.Attribution.feature_attributions]
     * fields are averaged over the test data.
     * NOTE: Currently AutoML tabular classification Models produce only one
     * attribution, which averages attributions over all the classes it predicts.
     * [Attribution.approximation_error][google.cloud.aiplatform.v1.Attribution.approximation_error]
     * is not populated.
     *
     * Generated from protobuf field <code>repeated .google.cloud.aiplatform.v1.Attribution mean_attributions = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getMeanAttributions()
    {
        return $this->mean_attributions;
    }

    /**
     * Output only. Aggregated attributions explaining the Model's prediction
     * outputs over the set of instances. The attributions are grouped by outputs.
     * For Models that predict only one output, such as regression Models that
     * predict only one score, there is only one attibution that explains the
     * predicted output. For Models that predict multiple outputs, such as
     * multiclass Models that predict multiple classes, each element explains one
     * specific item.
     * [Attribution.output_index][google.cloud.aiplatform.v1.Attribution.output_index]
     * can be used to identify which output this attribution is explaining.
     * The
     * [baselineOutputValue][google.cloud.aiplatform.v1.Attribution.baseline_output_value],
     * [instanceOutputValue][google.cloud.aiplatform.v1.Attribution.instance_output_value]
     * and
     * [featureAttributions][google.cloud.aiplatform.v1.Attribution.feature_attributions]
     * fields are averaged over the test data.
     * NOTE: Currently AutoML tabular classification Models produce only one
     * attribution, which averages attributions over all the classes it predicts.
     * [Attribution.approximation_error][google.cloud.aiplatform.v1.Attribution.approximation_error]
     * is not populated.
     *
     * Generated from protobuf field <code>repeated .google.cloud.aiplatform.v1.Attribution mean_attributions = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param array<\Google\Cloud\AIPlatform\V1\Attribution>|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setMeanAttributions($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\AIPlatform\V1\Attribution::class);
        $this->mean_attributions = $arr;

        return $this;
    }

}

