pub struct UMAP { /* private fields */ }Expand description
UMAP (Uniform Manifold Approximation and Projection) dimensionality reduction
UMAP constructs a high dimensional graph representation of the data then optimizes a low dimensional graph to be as structurally similar as possible.
§Example
use scirs2_transform::UMAP;
use scirs2_core::ndarray::Array2;
let data = Array2::<f64>::zeros((50, 10));
let mut umap = UMAP::new(15, 2, 0.1, 1.0, 200);
let embedding = umap.fit_transform(&data).expect("should succeed");
assert_eq!(embedding.shape(), &[50, 2]);Implementations§
Source§impl UMAP
impl UMAP
Sourcepub fn new(
n_neighbors: usize,
n_components: usize,
min_dist: f64,
learning_rate: f64,
n_epochs: usize,
) -> Self
pub fn new( n_neighbors: usize, n_components: usize, min_dist: f64, learning_rate: f64, n_epochs: usize, ) -> Self
Creates a new UMAP instance
§Arguments
n_neighbors- Number of neighbors to consider for local structure (typically 5-50)n_components- Number of dimensions in the low dimensional space (typically 2 or 3)min_dist- Minimum distance between points in low dimensional space (typically 0.001-0.5)learning_rate- Learning rate for SGD optimization (typically 1.0)n_epochs- Number of epochs for optimization (typically 200-500)
Sourcepub fn with_random_state(self, seed: u64) -> Self
pub fn with_random_state(self, seed: u64) -> Self
Sets the random state for reproducibility
Sourcepub fn with_metric(self, metric: &str) -> Self
pub fn with_metric(self, metric: &str) -> Self
Sets the distance metric
Sourcepub fn with_negative_sample_rate(self, rate: usize) -> Self
pub fn with_negative_sample_rate(self, rate: usize) -> Self
Sets the negative sampling rate
Sourcepub fn with_spectral_init(self, use_spectral: bool) -> Self
pub fn with_spectral_init(self, use_spectral: bool) -> Self
Enable or disable spectral initialization
Sourcepub fn with_local_connectivity(self, local_connectivity: f64) -> Self
pub fn with_local_connectivity(self, local_connectivity: f64) -> Self
Sets the local connectivity parameter
Sourcepub fn with_set_op_mix_ratio(self, ratio: f64) -> Self
pub fn with_set_op_mix_ratio(self, ratio: f64) -> Self
Sets the set operation mix ratio
Sourcepub fn with_spread(self, spread: f64) -> Self
pub fn with_spread(self, spread: f64) -> Self
Sets the spread parameter
Trait Implementations§
Auto Trait Implementations§
impl Freeze for UMAP
impl RefUnwindSafe for UMAP
impl Send for UMAP
impl Sync for UMAP
impl Unpin for UMAP
impl UnsafeUnpin for UMAP
impl UnwindSafe for UMAP
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
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.