Skip to main content

ThresholdDecoder

Struct ThresholdDecoder 

Source
pub struct ThresholdDecoder { /* private fields */ }
Expand description

Decode cognitive states from topology metrics using learned thresholds.

Each cognitive state is associated with expected ranges for key topology metrics (mincut, modularity, efficiency, entropy). The decoder scores each candidate state by how well the input metrics fall within the expected ranges.

Implementations§

Source§

impl ThresholdDecoder

Source

pub fn new() -> Self

Create a new threshold decoder with no thresholds defined.

Source

pub fn set_threshold( &mut self, state: CognitiveState, threshold: TopologyThreshold, )

Set the threshold for a specific cognitive state.

Source

pub fn learn_thresholds( &mut self, labeled_data: &[(TopologyMetrics, CognitiveState)], )

Learn thresholds from labeled topology data.

For each cognitive state present in the data, computes the min/max range of each metric with a 10% margin.

Source

pub fn decode(&self, metrics: &TopologyMetrics) -> (CognitiveState, f64)

Decode the cognitive state from topology metrics.

Returns the best-matching state and a confidence score in [0, 1]. If no thresholds are defined, returns (Unknown, 0.0).

Source

pub fn num_states(&self) -> usize

Number of states with defined thresholds.

Trait Implementations§

Source§

impl Default for ThresholdDecoder

Source§

fn default() -> Self

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

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.

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> Same for T

Source§

type Output = T

Should always be Self
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