pub struct NearestNeighborMetaModel { /* private fields */ }Expand description
The simplest useful meta-model: given a new corpus, return the best_config of the training record whose corpus-feature vector is closest in z-score-normalized Euclidean distance.
- Works with
N ≥ 1records. - Deterministic; no hyperparameters.
- Degenerate features (zero variance across training records) are dropped from the distance computation at fit time so they don’t divide by zero or dominate via raw-scale inflation.
Implementations§
Source§impl NearestNeighborMetaModel
impl NearestNeighborMetaModel
pub fn new() -> Self
Sourcepub fn records(&self) -> &[MetaTrainingRecord]
pub fn records(&self) -> &[MetaTrainingRecord]
Borrow the training records — useful for introspecting what the model considers the nearest-neighbor candidate pool.
Sourcepub fn rank_candidates(&self, features: &CorpusFeatures) -> Vec<(usize, f64)>
pub fn rank_candidates(&self, features: &CorpusFeatures) -> Vec<(usize, f64)>
Distance from a given feature vector to every stored record,
sorted ascending. Returned as (record_index, distance) pairs.
Trait Implementations§
Source§impl Clone for NearestNeighborMetaModel
impl Clone for NearestNeighborMetaModel
Source§fn clone(&self) -> NearestNeighborMetaModel
fn clone(&self) -> NearestNeighborMetaModel
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 NearestNeighborMetaModel
impl Debug for NearestNeighborMetaModel
Source§impl Default for NearestNeighborMetaModel
impl Default for NearestNeighborMetaModel
Source§impl MetaModel for NearestNeighborMetaModel
impl MetaModel for NearestNeighborMetaModel
Source§fn fit(&mut self, records: &[MetaTrainingRecord])
fn fit(&mut self, records: &[MetaTrainingRecord])
Fit on a training set. Replacing any prior state.
Source§fn predict(&self, features: &CorpusFeatures) -> PipelineConfig
fn predict(&self, features: &CorpusFeatures) -> PipelineConfig
Predict the config that should work best on a corpus with the
given profile. Panics if
fit has not been called with at least
one record — callers should treat MetaModel as a trained object
and front-load fit.Auto Trait Implementations§
impl Freeze for NearestNeighborMetaModel
impl RefUnwindSafe for NearestNeighborMetaModel
impl Send for NearestNeighborMetaModel
impl Sync for NearestNeighborMetaModel
impl Unpin for NearestNeighborMetaModel
impl UnsafeUnpin for NearestNeighborMetaModel
impl UnwindSafe for NearestNeighborMetaModel
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> 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 more