pub struct Attribution {
    pub baseline_output_value: f64,
    pub instance_output_value: f64,
    pub feature_attributions: Option<Value>,
    pub output_index: Vec<i32>,
    pub output_display_name: String,
    pub approximation_error: f64,
    pub output_name: String,
}
Expand description

Attribution that explains a particular prediction output.

Fields§

§baseline_output_value: f64

Output only. Model predicted output if the input instance is constructed from the baselines of all the features defined in [ExplanationMetadata.inputs][google.cloud.aiplatform.v1.ExplanationMetadata.inputs]. The field name of the output is determined by the key in [ExplanationMetadata.outputs][google.cloud.aiplatform.v1.ExplanationMetadata.outputs].

If the Model’s predicted output has multiple dimensions (rank > 1), this is the value in the output located by [output_index][google.cloud.aiplatform.v1.Attribution.output_index].

If there are multiple baselines, their output values are averaged.

§instance_output_value: f64

Output only. Model predicted output on the corresponding [explanation instance][ExplainRequest.instances]. The field name of the output is determined by the key in [ExplanationMetadata.outputs][google.cloud.aiplatform.v1.ExplanationMetadata.outputs].

If the Model predicted output has multiple dimensions, this is the value in the output located by [output_index][google.cloud.aiplatform.v1.Attribution.output_index].

§feature_attributions: Option<Value>

Output only. Attributions of each explained feature. Features are extracted from the [prediction instances][google.cloud.aiplatform.v1.ExplainRequest.instances] according to [explanation metadata for inputs][google.cloud.aiplatform.v1.ExplanationMetadata.inputs].

The value is a struct, whose keys are the name of the feature. The values are how much the feature in the [instance][google.cloud.aiplatform.v1.ExplainRequest.instances] contributed to the predicted result.

The format of the value is determined by the feature’s input format:

  • If the feature is a scalar value, the attribution value is a [floating number][google.protobuf.Value.number_value].

  • If the feature is an array of scalar values, the attribution value is an [array][google.protobuf.Value.list_value].

  • If the feature is a struct, the attribution value is a [struct][google.protobuf.Value.struct_value]. The keys in the attribution value struct are the same as the keys in the feature struct. The formats of the values in the attribution struct are determined by the formats of the values in the feature struct.

The [ExplanationMetadata.feature_attributions_schema_uri][google.cloud.aiplatform.v1.ExplanationMetadata.feature_attributions_schema_uri] field, pointed to by the [ExplanationSpec][google.cloud.aiplatform.v1.ExplanationSpec] field of the [Endpoint.deployed_models][google.cloud.aiplatform.v1.Endpoint.deployed_models] object, points to the schema file that describes the features and their attribution values (if it is populated).

§output_index: Vec<i32>

Output only. The index that locates the explained prediction output.

If the prediction output is a scalar value, output_index is not populated. If the prediction output has multiple dimensions, the length of the output_index list is the same as the number of dimensions of the output. The i-th element in output_index is the element index of the i-th dimension of the output vector. Indices start from 0.

§output_display_name: String

Output only. The display name of the output identified by [output_index][google.cloud.aiplatform.v1.Attribution.output_index]. For example, the predicted class name by a multi-classification Model.

This field is only populated iff the Model predicts display names as a separate field along with the explained output. The predicted display name must has the same shape of the explained output, and can be located using output_index.

§approximation_error: f64

Output only. Error of [feature_attributions][google.cloud.aiplatform.v1.Attribution.feature_attributions] caused by approximation used in the explanation method. Lower value means more precise attributions.

  • For Sampled Shapley [attribution][google.cloud.aiplatform.v1.ExplanationParameters.sampled_shapley_attribution], increasing [path_count][google.cloud.aiplatform.v1.SampledShapleyAttribution.path_count] might reduce the error.
  • For Integrated Gradients [attribution][google.cloud.aiplatform.v1.ExplanationParameters.integrated_gradients_attribution], increasing [step_count][google.cloud.aiplatform.v1.IntegratedGradientsAttribution.step_count] might reduce the error.
  • For [XRAI attribution][google.cloud.aiplatform.v1.ExplanationParameters.xrai_attribution], increasing [step_count][google.cloud.aiplatform.v1.XraiAttribution.step_count] might reduce the error.

See this introduction for more information.

§output_name: String

Output only. Name of the explain output. Specified as the key in [ExplanationMetadata.outputs][google.cloud.aiplatform.v1.ExplanationMetadata.outputs].

Trait Implementations§

source§

impl Clone for Attribution

source§

fn clone(&self) -> Attribution

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Attribution

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Attribution

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Message for Attribution

source§

fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.
source§

fn clear(&mut self)

Clears the message, resetting all fields to their default.
source§

fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut, Self: Sized,

Encodes the message to a buffer. Read more
source§

fn encode_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message to a newly allocated buffer.
source§

fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
where B: BufMut, Self: Sized,

Encodes the message with a length-delimiter to a buffer. Read more
source§

fn encode_length_delimited_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message with a length-delimiter to a newly allocated buffer.
source§

fn decode<B>(buf: B) -> Result<Self, DecodeError>
where B: Buf, Self: Default,

Decodes an instance of the message from a buffer. Read more
source§

fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
where B: Buf, Self: Default,

Decodes a length-delimited instance of the message from the buffer.
source§

fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
where B: Buf, Self: Sized,

Decodes an instance of the message from a buffer, and merges it into self. Read more
source§

fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
where B: Buf, Self: Sized,

Decodes a length-delimited instance of the message from buffer, and merges it into self.
source§

impl PartialEq for Attribution

source§

fn eq(&self, other: &Attribution) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for Attribution

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more