Public Types | Public Attributes | List of all members
ML::UMAPParams Class Reference

#include <umapparams.h>

Collaboration diagram for ML::UMAPParams:
Collaboration graph

Public Types

enum  MetricType { EUCLIDEAN , CATEGORICAL }
 
enum  graph_build_algo { BRUTE_FORCE_KNN , NN_DESCENT }
 

Public Attributes

int n_neighbors = 15
 
int n_components = 2
 
int n_epochs = 0
 
float learning_rate = 1.0
 
float min_dist = 0.1
 
float spread = 1.0
 
float set_op_mix_ratio = 1.0
 
float local_connectivity = 1.0
 
float repulsion_strength = 1.0
 
int negative_sample_rate = 5
 
float transform_queue_size = 4.0
 
int verbosity = CUML_LEVEL_INFO
 
float a = -1.0
 
float b = -1.0
 
float initial_alpha = 1.0
 
int init = 1
 
graph_build_algo build_algo = graph_build_algo::BRUTE_FORCE_KNN
 
nn_index_params nn_descent_params = {}
 
int target_n_neighbors = -1
 
MetricType target_metric = CATEGORICAL
 
float target_weight = 0.5
 
uint64_t random_state = 0
 
bool deterministic = true
 
cuvs::distance::DistanceType metric = cuvs::distance::DistanceType::L2SqrtExpanded
 
float p = 2.0
 
Internals::GraphBasedDimRedCallbackcallback = nullptr
 

Member Enumeration Documentation

◆ graph_build_algo

Enumerator
BRUTE_FORCE_KNN 
NN_DESCENT 

◆ MetricType

Enumerator
EUCLIDEAN 
CATEGORICAL 

Member Data Documentation

◆ a

float ML::UMAPParams::a = -1.0

More specific parameters controlling the embedding. If None these values are set automatically as determined by min_dist and spread.

◆ b

float ML::UMAPParams::b = -1.0

More specific parameters controlling the embedding. If None these values are set automatically as determined by min_dist and spread.

◆ build_algo

graph_build_algo ML::UMAPParams::build_algo = graph_build_algo::BRUTE_FORCE_KNN

KNN graph build algorithm

◆ callback

Internals::GraphBasedDimRedCallback* ML::UMAPParams::callback = nullptr

◆ deterministic

bool ML::UMAPParams::deterministic = true

Whether should we use deterministic algorithm. This should be set to true if random_state is provided, otherwise it's false. When it's true, cuml will have higher memory usage but produce stable numeric output.

◆ init

int ML::UMAPParams::init = 1

Embedding initializer algorithm 0 = random layout 1 = spectral layout

◆ initial_alpha

float ML::UMAPParams::initial_alpha = 1.0

Initial learning rate for SGD

◆ learning_rate

float ML::UMAPParams::learning_rate = 1.0

Initial learning rate for the embedding optimization

◆ local_connectivity

float ML::UMAPParams::local_connectivity = 1.0

The local connectivity required – i.e. the number of nearest neighbors that should be assumed to be connected at a local level. The higher this value the more connected the manifold becomes locally. In practice this should be not more than the local intrinsic dimension of the manifold.

◆ metric

cuvs::distance::DistanceType ML::UMAPParams::metric = cuvs::distance::DistanceType::L2SqrtExpanded

◆ min_dist

float ML::UMAPParams::min_dist = 0.1

The effective minimum distance between embedded points. Smaller values will result in a more clustered/clumped embedding where nearby points on the manifold are drawn closer together, while larger values will result on a more even dispersal of points. The value should be set relative to the spread value, which determines the scale at which embedded points will be spread out.

◆ n_components

int ML::UMAPParams::n_components = 2

Number of features in the final embedding

◆ n_epochs

int ML::UMAPParams::n_epochs = 0

Number of epochs to use in the training of the embedding.

◆ n_neighbors

int ML::UMAPParams::n_neighbors = 15

The number of neighbors to use to approximate geodesic distance. Larger numbers induce more global estimates of the manifold that can miss finer detail, while smaller values will focus on fine manifold structure to the detriment of the larger picture.

◆ negative_sample_rate

int ML::UMAPParams::negative_sample_rate = 5

The number of negative samples to select per positive sample in the optimization process. Increasing this value will result in greater repulsive force being applied, greater optimization cost, but slightly more accuracy.

◆ nn_descent_params

nn_index_params ML::UMAPParams::nn_descent_params = {}

◆ p

float ML::UMAPParams::p = 2.0

◆ random_state

uint64_t ML::UMAPParams::random_state = 0

◆ repulsion_strength

float ML::UMAPParams::repulsion_strength = 1.0

Weighting applied to negative samples in low dimensional embedding optimization. Values higher than one will result in greater weight being given to negative samples.

◆ set_op_mix_ratio

float ML::UMAPParams::set_op_mix_ratio = 1.0

Interpolate between (fuzzy) union and intersection as the set operation used to combine local fuzzy simplicial sets to obtain a global fuzzy simplicial sets. Both fuzzy set operations use the product t-norm. The value of this parameter should be between 0.0 and 1.0; a value of 1.0 will use a pure fuzzy union, while 0.0 will use a pure fuzzy intersection.

◆ spread

float ML::UMAPParams::spread = 1.0

The effective scale of embedded points. In combination with min_dist this determines how clustered/clumped the embedded points are.

◆ target_metric

MetricType ML::UMAPParams::target_metric = CATEGORICAL

◆ target_n_neighbors

int ML::UMAPParams::target_n_neighbors = -1

The number of nearest neighbors to use to construct the target simplicial set. If set to -1, use the n_neighbors value.

◆ target_weight

float ML::UMAPParams::target_weight = 0.5

◆ transform_queue_size

float ML::UMAPParams::transform_queue_size = 4.0

For transform operations (embedding new points using a trained model_ this will control how aggressively to search for nearest neighbors. Larger values will result in slower performance but more accurate nearest neighbor evaluation.

◆ verbosity

int ML::UMAPParams::verbosity = CUML_LEVEL_INFO

Control logging level during algorithm execution


The documentation for this class was generated from the following file: