pub struct ExtendedAnomalyLabel {Show 14 fields
pub base: LabeledAnomaly,
pub category: AnomalyCategory,
pub severity: AnomalySeverity,
pub detection_difficulty: AnomalyDetectionDifficulty,
pub recommended_methods: Vec<DetectionMethod>,
pub key_indicators: Vec<String>,
pub ground_truth_certainty: GroundTruthCertainty,
pub contributing_factors: Vec<ContributingFactor>,
pub related_entity_ids: Vec<String>,
pub secondary_categories: Vec<AnomalyCategory>,
pub scheme_id: Option<String>,
pub scheme_stage: Option<u32>,
pub is_near_miss: bool,
pub near_miss_explanation: Option<String>,
}Expand description
Extended anomaly label with comprehensive multi-dimensional classification.
This extends the base EnhancedAnomalyLabel with additional fields for
severity scoring, detection difficulty, recommended methods, and ground truth.
Fields§
§base: LabeledAnomalyBase labeled anomaly.
category: AnomalyCategoryEnhanced category classification.
severity: AnomalySeverityStructured severity assessment.
detection_difficulty: AnomalyDetectionDifficultyDetection difficulty classification.
recommended_methods: Vec<DetectionMethod>Recommended detection methods for this anomaly.
key_indicators: Vec<String>Key indicators that should trigger detection.
ground_truth_certainty: GroundTruthCertaintyGround truth certainty level.
contributing_factors: Vec<ContributingFactor>Contributing factors to confidence/severity.
Related entity IDs (vendors, customers, employees, etc.).
secondary_categories: Vec<AnomalyCategory>Secondary categories for multi-label classification.
scheme_id: Option<String>Scheme ID if part of a multi-stage fraud scheme.
scheme_stage: Option<u32>Stage number within a scheme (1-indexed).
is_near_miss: boolWhether this is a near-miss (suspicious but legitimate).
near_miss_explanation: Option<String>Explanation if this is a near-miss.
Implementations§
Source§impl ExtendedAnomalyLabel
impl ExtendedAnomalyLabel
Sourcepub fn from_base(base: LabeledAnomaly) -> Self
pub fn from_base(base: LabeledAnomaly) -> Self
Creates an extended label from a base labeled anomaly.
Sourcepub fn with_severity(self, severity: AnomalySeverity) -> Self
pub fn with_severity(self, severity: AnomalySeverity) -> Self
Sets the severity assessment.
Sourcepub fn with_difficulty(self, difficulty: AnomalyDetectionDifficulty) -> Self
pub fn with_difficulty(self, difficulty: AnomalyDetectionDifficulty) -> Self
Sets the detection difficulty.
Sourcepub fn with_method(self, method: DetectionMethod) -> Self
pub fn with_method(self, method: DetectionMethod) -> Self
Adds a recommended detection method.
Sourcepub fn with_methods(self, methods: Vec<DetectionMethod>) -> Self
pub fn with_methods(self, methods: Vec<DetectionMethod>) -> Self
Sets the recommended detection methods.
Sourcepub fn with_indicator(self, indicator: impl Into<String>) -> Self
pub fn with_indicator(self, indicator: impl Into<String>) -> Self
Adds a key indicator.
Sourcepub fn with_certainty(self, certainty: GroundTruthCertainty) -> Self
pub fn with_certainty(self, certainty: GroundTruthCertainty) -> Self
Sets the ground truth certainty.
Sourcepub fn with_factor(self, factor: ContributingFactor) -> Self
pub fn with_factor(self, factor: ContributingFactor) -> Self
Adds a contributing factor.
Sourcepub fn with_entity(self, entity_id: impl Into<String>) -> Self
pub fn with_entity(self, entity_id: impl Into<String>) -> Self
Adds a related entity ID.
Sourcepub fn with_secondary_category(self, category: AnomalyCategory) -> Self
pub fn with_secondary_category(self, category: AnomalyCategory) -> Self
Adds a secondary category.
Sourcepub fn with_scheme(self, scheme_id: impl Into<String>, stage: u32) -> Self
pub fn with_scheme(self, scheme_id: impl Into<String>, stage: u32) -> Self
Sets scheme information.
Sourcepub fn as_near_miss(self, explanation: impl Into<String>) -> Self
pub fn as_near_miss(self, explanation: impl Into<String>) -> Self
Marks this as a near-miss with explanation.
Sourcepub fn to_features(&self) -> Vec<f64>
pub fn to_features(&self) -> Vec<f64>
Converts to an extended feature vector for ML.
Returns base features (15) + extended features (15) = 30 features.
Sourcepub fn feature_count() -> usize
pub fn feature_count() -> usize
Returns the number of features in the extended feature vector.
Sourcepub fn feature_names() -> Vec<&'static str>
pub fn feature_names() -> Vec<&'static str>
Returns feature names for the extended feature vector.
Trait Implementations§
Source§impl Clone for ExtendedAnomalyLabel
impl Clone for ExtendedAnomalyLabel
Source§fn clone(&self) -> ExtendedAnomalyLabel
fn clone(&self) -> ExtendedAnomalyLabel
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ExtendedAnomalyLabel
impl Debug for ExtendedAnomalyLabel
Source§impl<'de> Deserialize<'de> for ExtendedAnomalyLabel
impl<'de> Deserialize<'de> for ExtendedAnomalyLabel
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for ExtendedAnomalyLabel
impl RefUnwindSafe for ExtendedAnomalyLabel
impl Send for ExtendedAnomalyLabel
impl Sync for ExtendedAnomalyLabel
impl Unpin for ExtendedAnomalyLabel
impl UnsafeUnpin for ExtendedAnomalyLabel
impl UnwindSafe for ExtendedAnomalyLabel
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.