pub struct HiddenMarkovModel {
pub n_states: usize,
pub n_symbols: usize,
pub initial: Vec<f64>,
pub transition: Vec<Vec<f64>>,
pub emission: Vec<Vec<f64>>,
}Expand description
A discrete hidden Markov model.
Fields§
§n_states: usize§n_symbols: usize§initial: Vec<f64>§transition: Vec<Vec<f64>>§emission: Vec<Vec<f64>>Implementations§
Source§impl HiddenMarkovModel
impl HiddenMarkovModel
Sourcepub fn uniform(n_states: usize, n_symbols: usize) -> Self
pub fn uniform(n_states: usize, n_symbols: usize) -> Self
Create an HMM with uniform distributions.
Sourcepub fn viterbi(&self, observations: &[usize]) -> Vec<usize>
pub fn viterbi(&self, observations: &[usize]) -> Vec<usize>
Run the Viterbi algorithm on a symbol sequence.
Returns the most probable state path.
Sourcepub fn forward_probability(&self, observations: &[usize]) -> f64
pub fn forward_probability(&self, observations: &[usize]) -> f64
Forward algorithm: compute P(observations | model).
Trait Implementations§
Source§impl Clone for HiddenMarkovModel
impl Clone for HiddenMarkovModel
Source§fn clone(&self) -> HiddenMarkovModel
fn clone(&self) -> HiddenMarkovModel
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 moreAuto Trait Implementations§
impl Freeze for HiddenMarkovModel
impl RefUnwindSafe for HiddenMarkovModel
impl Send for HiddenMarkovModel
impl Sync for HiddenMarkovModel
impl Unpin for HiddenMarkovModel
impl UnsafeUnpin for HiddenMarkovModel
impl UnwindSafe for HiddenMarkovModel
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