BlosSOM
Interactive dimensionality reduction on large datasets (EmbedSOM and FLOWER combined)
training_config.h
Go to the documentation of this file.
1/* This file is part of BlosSOM.
2 *
3 * Copyright (C) 2021 Mirek Kratochvil
4 * Sona Molnarova
5 *
6 * BlosSOM is free software: you can redistribute it and/or modify it under
7 * the terms of the GNU General Public License as published by the Free
8 * Software Foundation, either version 3 of the License, or (at your option)
9 * any later version.
10 *
11 * BlosSOM is distributed in the hope that it will be useful, but WITHOUT ANY
12 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
14 * details.
15 *
16 * You should have received a copy of the GNU General Public License along with
17 * BlosSOM. If not, see <https://www.gnu.org/licenses/>.
18 */
19
20#ifndef TRAINING_CONFIG_H
21#define TRAINING_CONFIG_H
22
23/**
24 * @brief Storage of the dynamic parameters of the algorithms that are set in
25 * the GUI by user.
26 *
27 */
29{
30 /** Alpha value for SOM algorithm. */
31 float som_alpha;
32 /** Alpha value for kmeans algorithm. */
34 /** Sigma value for SOM algorithm. */
35 float sigma;
36 /** Gravity value for kmeans algorithm. */
37 float gravity;
38
39 /** Number of iterations value for SOM algorithm. */
41 /** Number of iterations value for kmeans algorithm. */
43
44 /** k-neighbors value for generating knn graph algorithm. */
45 int kns;
46 /** k-neighbors value for t-SNE algorithm. */
47 int tsne_k;
48
49 /** Landmark neighborhood size value for EmbedSOM algorithm. */
50 int topn;
51 /** Boost value for EmbedSOM algorithm. */
52 float boost;
53 /** Adjust value for EmbedSOM algorithm. */
54 float adjust;
55
56 /** Flag that indicates if the kmeans algorithm should be used. */
58 /** Flag that indicates if the SOM algorithm should be used. */
60 /** Flag that indicates if the kNN graph should be generated. */
62 /** Flag that indicates if the graph layout algorithm should be used. */
64 /** Flag that indicates if the t-SNE algorithm should be used. */
66
67 /**
68 * @brief Calls @ref reset_data().
69 *
70 */
72
73 /**
74 * @brief Resets values to their default values.
75 *
76 */
78 {
79 som_alpha = kmeans_alpha = 0.001f;
80 sigma = 1.1f;
81 gravity = 0.01f;
82 som_iters = kmeans_iters = 100;
83 kns = 3;
84 tsne_k = 3;
85 topn = 10;
86 boost = 2.0f;
87 adjust = 0.2f;
88
90 som_landmark = true;
91 }
92};
93
94#endif // #ifndef TRAINING_CONFIG_H
Storage of the dynamic parameters of the algorithms that are set in the GUI by user.
float sigma
Sigma value for SOM algorithm.
float boost
Boost value for EmbedSOM algorithm.
int kmeans_iters
Number of iterations value for kmeans algorithm.
float som_alpha
Alpha value for SOM algorithm.
bool tsne_layout
Flag that indicates if the t-SNE algorithm should be used.
int kns
k-neighbors value for generating knn graph algorithm.
float adjust
Adjust value for EmbedSOM algorithm.
int som_iters
Number of iterations value for SOM algorithm.
float gravity
Gravity value for kmeans algorithm.
int tsne_k
k-neighbors value for t-SNE algorithm.
bool graph_layout
Flag that indicates if the graph layout algorithm should be used.
float kmeans_alpha
Alpha value for kmeans algorithm.
bool som_landmark
Flag that indicates if the SOM algorithm should be used.
bool kmeans_landmark
Flag that indicates if the kmeans algorithm should be used.
bool knn_edges
Flag that indicates if the kNN graph should be generated.
TrainingConfig()
Calls reset_data().
int topn
Landmark neighborhood size value for EmbedSOM algorithm.
void reset_data()
Resets values to their default values.