pub enum ProjectionKind {
Pca,
KernelPca,
LaplacianEigenmap,
UmapSphere,
}Expand description
Which projection family the pipeline uses for the outer sphere.
A first-class tunable axis:
SearchSpace::projection_kinds
enumerates the families the auto-tuner sweeps, and
CorpusFeatures →
PipelineConfig meta-models can map corpus profiles onto the
kind that works best.
Variants§
Pca
Linear PCA — fast, variance-maximizing. Good default for dense, low-noise embeddings.
KernelPca
Kernel PCA with a Gaussian (RBF) kernel. Captures nonlinear manifold structure at O(n²) fit cost.
LaplacianEigenmap
Laplacian eigenmap over a Jaccard-similarity graph of active axes. Connectivity-preserving; preferred when signal lives in the co-activation structure of a sparse embedding rather than in coordinate variance (the typical failure mode of PCA on 128-dim noise-heavy corpora).
UmapSphere
UMAP-on-sphere via Adam in the tangent bundle of S². PCA warm start, kNN attractive + uniform-negative repulsive, optional supervised category term. Preferred when angular ordering on the sphere matters more than raw variance preservation, and when a modest fit cost (O(n²·epochs) for the kNN graph + iterations) is acceptable.
Implementations§
Trait Implementations§
Source§impl Clone for ProjectionKind
impl Clone for ProjectionKind
Source§fn clone(&self) -> ProjectionKind
fn clone(&self) -> ProjectionKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ProjectionKind
Source§impl Debug for ProjectionKind
impl Debug for ProjectionKind
Source§impl Default for ProjectionKind
impl Default for ProjectionKind
Source§fn default() -> ProjectionKind
fn default() -> ProjectionKind
Source§impl<'de> Deserialize<'de> for ProjectionKind
impl<'de> Deserialize<'de> for ProjectionKind
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>,
impl Eq for ProjectionKind
Source§impl Hash for ProjectionKind
impl Hash for ProjectionKind
Source§impl PartialEq for ProjectionKind
impl PartialEq for ProjectionKind
Source§fn eq(&self, other: &ProjectionKind) -> bool
fn eq(&self, other: &ProjectionKind) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for ProjectionKind
impl Serialize for ProjectionKind
impl StructuralPartialEq for ProjectionKind
Auto Trait Implementations§
impl Freeze for ProjectionKind
impl RefUnwindSafe for ProjectionKind
impl Send for ProjectionKind
impl Sync for ProjectionKind
impl Unpin for ProjectionKind
impl UnsafeUnpin for ProjectionKind
impl UnwindSafe for ProjectionKind
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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>
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>
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