umappp
A C++ library for UMAP
Loading...
Searching...
No Matches
Options.hpp
Go to the documentation of this file.
1#ifndef UMAPPP_OPTIONS_HPP
2#define UMAPPP_OPTIONS_HPP
3
4#include <random>
5#include <optional>
6
7#include "sanisizer/sanisizer.hpp"
8#include "irlba/irlba.hpp"
9
15namespace umappp {
16
26enum InitializeMethod : char { SPECTRAL, RANDOM, NONE };
27
31typedef std::mt19937_64 RngEngine;
32
36struct Options {
43
48 double bandwidth = 1;
49
56 double mix_ratio = 1;
57
62 double spread = 1;
63
70 double min_dist = 0.1;
71
78 std::optional<double> a;
79
86 std::optional<double> b;
87
93
97 InitializeMethod initialize_method = InitializeMethod::SPECTRAL;
98
105
110
118
125
131
139
146 typename RngEngine::result_type initialize_seed = sanisizer::cap<typename RngEngine::result_type>(9876543210);
147
158 std::optional<int> num_epochs;
159
164 double learning_rate = 1;
165
171
178
182 typename RngEngine::result_type optimize_seed = sanisizer::cap<typename RngEngine::result_type>(1234567890);
183
191 int num_threads = 1;
192
207};
208
209}
210
211#endif
Functions for creating UMAP embeddings.
Definition initialize.hpp:22
InitializeMethod
Definition Options.hpp:26
std::mt19937_64 RngEngine
Definition Options.hpp:31
Options for initialize().
Definition Options.hpp:36
double initialize_random_scale
Definition Options.hpp:138
double mix_ratio
Definition Options.hpp:56
double negative_sample_rate
Definition Options.hpp:170
double repulsion_strength
Definition Options.hpp:92
std::optional< double > a
Definition Options.hpp:78
RngEngine::result_type optimize_seed
Definition Options.hpp:182
int parallel_optimization
Definition Options.hpp:206
bool initialize_spectral_jitter
Definition Options.hpp:124
std::optional< double > b
Definition Options.hpp:86
InitializeMethod initialize_method
Definition Options.hpp:97
double bandwidth
Definition Options.hpp:48
double min_dist
Definition Options.hpp:70
double learning_rate
Definition Options.hpp:164
std::optional< int > num_epochs
Definition Options.hpp:158
double initialize_spectral_jitter_sd
Definition Options.hpp:130
int num_neighbors
Definition Options.hpp:177
irlba::Options initialize_spectral_irlba_options
Definition Options.hpp:109
double spread
Definition Options.hpp:62
int num_threads
Definition Options.hpp:191
RngEngine::result_type initialize_seed
Definition Options.hpp:146
bool initialize_random_on_spectral_fail
Definition Options.hpp:104
double local_connectivity
Definition Options.hpp:42
double initialize_spectral_scale
Definition Options.hpp:117