Struct google_api_proto::google::cloud::aiplatform::v1::FeatureStatsAnomaly
source · pub struct FeatureStatsAnomaly {
pub score: f64,
pub stats_uri: String,
pub anomaly_uri: String,
pub distribution_deviation: f64,
pub anomaly_detection_threshold: f64,
pub start_time: Option<Timestamp>,
pub end_time: Option<Timestamp>,
}
Expand description
Stats and Anomaly generated at specific timestamp for specific Feature. The start_time and end_time are used to define the time range of the dataset that current stats belongs to, e.g. prediction traffic is bucketed into prediction datasets by time window. If the Dataset is not defined by time window, start_time = end_time. Timestamp of the stats and anomalies always refers to end_time. Raw stats and anomalies are stored in stats_uri or anomaly_uri in the tensorflow defined protos. Field data_stats contains almost identical information with the raw stats in Vertex AI defined proto, for UI to display.
Fields§
§score: f64
Feature importance score, only populated when cross-feature monitoring is enabled. For now only used to represent feature attribution score within range [0, 1] for [ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_SKEW][google.cloud.aiplatform.v1.ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_SKEW] and [ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_DRIFT][google.cloud.aiplatform.v1.ModelDeploymentMonitoringObjectiveType.FEATURE_ATTRIBUTION_DRIFT].
stats_uri: String
Path of the stats file for current feature values in Cloud Storage bucket. Format: gs://<bucket_name>/<object_name>/stats. Example: gs://monitoring_bucket/feature_name/stats. Stats are stored as binary format with Protobuf message tensorflow.metadata.v0.FeatureNameStatistics.
anomaly_uri: String
Path of the anomaly file for current feature values in Cloud Storage bucket. Format: gs://<bucket_name>/<object_name>/anomalies. Example: gs://monitoring_bucket/feature_name/anomalies. Stats are stored as binary format with Protobuf message Anoamlies are stored as binary format with Protobuf message [tensorflow.metadata.v0.AnomalyInfo] (https://github.com/tensorflow/metadata/blob/master/tensorflow_metadata/proto/v0/anomalies.proto).
distribution_deviation: f64
Deviation from the current stats to baseline stats.
- For categorical feature, the distribution distance is calculated by L-inifinity norm.
- For numerical feature, the distribution distance is calculated by Jensen–Shannon divergence.
anomaly_detection_threshold: f64
This is the threshold used when detecting anomalies. The threshold can be changed by user, so this one might be different from [ThresholdConfig.value][google.cloud.aiplatform.v1.ThresholdConfig.value].
start_time: Option<Timestamp>
The start timestamp of window where stats were generated. For objectives where time window doesn’t make sense (e.g. Featurestore Snapshot Monitoring), start_time is only used to indicate the monitoring intervals, so it always equals to (end_time - monitoring_interval).
end_time: Option<Timestamp>
The end timestamp of window where stats were generated. For objectives where time window doesn’t make sense (e.g. Featurestore Snapshot Monitoring), end_time indicates the timestamp of the data used to generate stats (e.g. timestamp we take snapshots for feature values).
Trait Implementations§
source§impl Clone for FeatureStatsAnomaly
impl Clone for FeatureStatsAnomaly
source§fn clone(&self) -> FeatureStatsAnomaly
fn clone(&self) -> FeatureStatsAnomaly
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for FeatureStatsAnomaly
impl Debug for FeatureStatsAnomaly
source§impl Default for FeatureStatsAnomaly
impl Default for FeatureStatsAnomaly
source§impl Message for FeatureStatsAnomaly
impl Message for FeatureStatsAnomaly
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for FeatureStatsAnomaly
impl PartialEq for FeatureStatsAnomaly
source§fn eq(&self, other: &FeatureStatsAnomaly) -> bool
fn eq(&self, other: &FeatureStatsAnomaly) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for FeatureStatsAnomaly
Auto Trait Implementations§
impl Freeze for FeatureStatsAnomaly
impl RefUnwindSafe for FeatureStatsAnomaly
impl Send for FeatureStatsAnomaly
impl Sync for FeatureStatsAnomaly
impl Unpin for FeatureStatsAnomaly
impl UnwindSafe for FeatureStatsAnomaly
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request