pub struct RelativeAffinity {
pub score_old: f32,
pub score_new: f32,
pub drel: f32,
}Expand description
Relative affinity between new and old pattern clusters.
Drel measures how clearly an episode belongs to new vs old patterns.
- Drel ≈ 0: Episode is ambiguous (similar scores to both clusters)
- Drel ≈ 1: Episode clearly belongs to one cluster
Formula: Drel = |score_new - score_old| / max(score_new, score_old)
Fields§
§score_old: f32Affinity score to old/existing patterns
score_new: f32Affinity score to new/potential patterns
drel: f32Relative difference (computed)
Implementations§
Source§impl RelativeAffinity
impl RelativeAffinity
Sourcepub fn compute(
episode: &Episode,
old_patterns: &[Pattern],
new_patterns: &[Pattern],
episode_embedding: Option<&[f32]>,
) -> Self
pub fn compute( episode: &Episode, old_patterns: &[Pattern], new_patterns: &[Pattern], episode_embedding: Option<&[f32]>, ) -> Self
Compute relative affinity between episode and pattern clusters.
Uses max cosine similarity to find the best match in each cluster.
Sourcepub fn is_ambiguous(&self, threshold: f32) -> bool
pub fn is_ambiguous(&self, threshold: f32) -> bool
Check if this affinity is ambiguous (Drel < threshold).
Trait Implementations§
Source§impl Clone for RelativeAffinity
impl Clone for RelativeAffinity
Source§fn clone(&self) -> RelativeAffinity
fn clone(&self) -> RelativeAffinity
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RelativeAffinity
impl Debug for RelativeAffinity
Source§impl<'de> Deserialize<'de> for RelativeAffinity
impl<'de> Deserialize<'de> for RelativeAffinity
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for RelativeAffinity
impl PartialEq for RelativeAffinity
Source§impl Serialize for RelativeAffinity
impl Serialize for RelativeAffinity
impl Copy for RelativeAffinity
impl StructuralPartialEq for RelativeAffinity
Auto Trait Implementations§
impl Freeze for RelativeAffinity
impl RefUnwindSafe for RelativeAffinity
impl Send for RelativeAffinity
impl Sync for RelativeAffinity
impl Unpin for RelativeAffinity
impl UnsafeUnpin for RelativeAffinity
impl UnwindSafe for RelativeAffinity
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
Mutably borrows from an owned value. Read more
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<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<Ok, Error>
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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.