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#include "Eigen/Dense"
10
16namespace umappp {
17
27enum InitializeMethod : char { SPECTRAL, RANDOM, NONE };
28
32typedef std::mt19937_64 RngEngine;
33
37struct Options {
44
49 double bandwidth = 1;
50
57 double mix_ratio = 1;
58
63 double spread = 1;
64
71 double min_dist = 0.1;
72
79 std::optional<double> a;
80
87 std::optional<double> b;
88
94
98 InitializeMethod initialize_method = InitializeMethod::SPECTRAL;
99
106
111
119
126
132
140
147 typename RngEngine::result_type initialize_seed = sanisizer::cap<typename RngEngine::result_type>(9876543210);
148
159 std::optional<int> num_epochs;
160
165 double learning_rate = 1;
166
172
179
183 typename RngEngine::result_type optimize_seed = sanisizer::cap<typename RngEngine::result_type>(1234567890);
184
192 int num_threads = 1;
193
208};
209
210}
211
212#endif
Functions for creating UMAP embeddings.
Definition initialize.hpp:22
InitializeMethod
Definition Options.hpp:27
std::mt19937_64 RngEngine
Definition Options.hpp:32
Options for initialize().
Definition Options.hpp:37
double initialize_random_scale
Definition Options.hpp:139
double mix_ratio
Definition Options.hpp:57
double negative_sample_rate
Definition Options.hpp:171
irlba::Options< Eigen::VectorXd > initialize_spectral_irlba_options
Definition Options.hpp:110
double repulsion_strength
Definition Options.hpp:93
std::optional< double > a
Definition Options.hpp:79
RngEngine::result_type optimize_seed
Definition Options.hpp:183
int parallel_optimization
Definition Options.hpp:207
bool initialize_spectral_jitter
Definition Options.hpp:125
std::optional< double > b
Definition Options.hpp:87
InitializeMethod initialize_method
Definition Options.hpp:98
double bandwidth
Definition Options.hpp:49
double min_dist
Definition Options.hpp:71
double learning_rate
Definition Options.hpp:165
std::optional< int > num_epochs
Definition Options.hpp:159
double initialize_spectral_jitter_sd
Definition Options.hpp:131
int num_neighbors
Definition Options.hpp:178
double spread
Definition Options.hpp:63
int num_threads
Definition Options.hpp:192
RngEngine::result_type initialize_seed
Definition Options.hpp:147
bool initialize_random_on_spectral_fail
Definition Options.hpp:105
double local_connectivity
Definition Options.hpp:43
double initialize_spectral_scale
Definition Options.hpp:118