Attribution

Struct Attribution 

Source
#[non_exhaustive]
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, /* private fields */ }
Available on crate features model-service or prediction-service only.
Expand description

Attribution that explains a particular prediction output.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§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. The field name of the output is determined by the key in ExplanationMetadata.outputs.

If the Model’s predicted output has multiple dimensions (rank > 1), this is the value in the output located by 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. The field name of the output is determined by the key in ExplanationMetadata.outputs.

If the Model predicted output has multiple dimensions, this is the value in the output located by output_index.

§feature_attributions: Option<Value>

Output only. Attributions of each explained feature. Features are extracted from the prediction instances according to explanation metadata for inputs.

The value is a struct, whose keys are the name of the feature. The values are how much the feature in the instance 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.

  • If the feature is an array of scalar values, the attribution value is an array.

  • If the feature is a struct, the attribution value is a struct. 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 field, pointed to by the ExplanationSpec field of the 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. 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 caused by approximation used in the explanation method. Lower value means more precise attributions.

See this introduction for more information.

§output_name: String

Output only. Name of the explain output. Specified as the key in ExplanationMetadata.outputs.

Implementations§

Source§

impl Attribution

Source

pub fn new() -> Self

Source

pub fn set_baseline_output_value<T: Into<f64>>(self, v: T) -> Self

Sets the value of baseline_output_value.

§Example
let x = Attribution::new().set_baseline_output_value(42.0);
Source

pub fn set_instance_output_value<T: Into<f64>>(self, v: T) -> Self

Sets the value of instance_output_value.

§Example
let x = Attribution::new().set_instance_output_value(42.0);
Source

pub fn set_feature_attributions<T>(self, v: T) -> Self
where T: Into<Value>,

Sets the value of feature_attributions.

§Example
use wkt::Value;
let x = Attribution::new().set_feature_attributions(Value::default()/* use setters */);
Source

pub fn set_or_clear_feature_attributions<T>(self, v: Option<T>) -> Self
where T: Into<Value>,

Sets or clears the value of feature_attributions.

§Example
use wkt::Value;
let x = Attribution::new().set_or_clear_feature_attributions(Some(Value::default()/* use setters */));
let x = Attribution::new().set_or_clear_feature_attributions(None::<Value>);
Source

pub fn set_output_index<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<i32>,

Sets the value of output_index.

§Example
let x = Attribution::new().set_output_index([1, 2, 3]);
Source

pub fn set_output_display_name<T: Into<String>>(self, v: T) -> Self

Sets the value of output_display_name.

§Example
let x = Attribution::new().set_output_display_name("example");
Source

pub fn set_approximation_error<T: Into<f64>>(self, v: T) -> Self

Sets the value of approximation_error.

§Example
let x = Attribution::new().set_approximation_error(42.0);
Source

pub fn set_output_name<T: Into<String>>(self, v: T) -> Self

Sets the value of output_name.

§Example
let x = Attribution::new().set_output_name("example");

Trait Implementations§

Source§

impl Clone for Attribution

Source§

fn clone(&self) -> Attribution

Returns a duplicate 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() -> Attribution

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

impl Message for Attribution

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for Attribution

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

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

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

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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

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

Source§

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>,

Source§

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>,

Source§

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.
Source§

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

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,