The available Python options are detailed in the aoclda.dimension_reduction.tsne() class
constructor.
The following options can be set using da_options_set_?:
Option name |
Type |
Default |
Description |
Constraints |
|---|---|---|---|---|
n_components |
integer |
\(i=2\) |
Number of embedding dimensions. |
\(1 \le i \le 3\) |
perplexity |
real |
\(r=30\) |
Target perplexity for conditional probabilities. |
\(1 \le r\) |
learning rate |
real |
\(r=-1\) |
Gradient descent learning rate. Any non-positive value selects auto: \(\max(n_{\mathrm{samples}} /\) |
Any \(r\) |
max_iter |
integer |
\(i=1000\) |
Maximum number of gradient descent iterations. |
\(1 \le i\) |
n_iter_without_progress |
integer |
\(i=300\) |
Stop if no progress is made for this many iterations. |
\(0 \le i\) |
min_grad_norm |
real |
\(r=1e-07\) |
Stop if the gradient norm is below this threshold. |
\(0 \le r\) |
early exaggeration |
real |
\(r=12\) |
Exaggeration factor for early iterations. |
\(1 \le r\) |
theta |
real |
\(r=0.5\) |
Barnes-Hut approximation parameter (0 for exact). |
\(0 \le r \le 1\) |
init |
string |
\(s=\) pca |
Initialization method for the embedding. |
\(s=\) pca, random, or supplied. |
seed |
integer |
\(i=0\) |
Seed for random number generation; set to -1 for non-deterministic results. |
\(-1 \le i\) |
mixed precision |
string |
\(s=\) no |
Whether to use mixed precision iterative refinement, in which lower precision arithmetic is used before switching to the working precision for the final iterations. |
\(s=\) no, or yes. |
low precision max_iter |
integer |
\(i=200\) |
If mixed precision iterative refinement is enabled, maximum number of iterations for the low precision phase. |
\(1 \le i\) |
low precision min_grad_norm |
real |
\(r=0.0001\) |
If mixed precision iterative refinement is enabled, gradient norm convergence threshold for the low precision phase. |
\(0 \le r\) |
check data |
string |
\(s=\) no |
Check input data for NaNs prior to performing computation. |
\(s=\) no, or yes. |
storage order |
string |
\(s=\) column-major |
Whether data is supplied and returned in row- or column-major order. |
\(s=\) c, column-major, f, fortran, or row-major. |
If init is set to supplied, an explicit initial embedding must be provided
via da_tsne_set_init_embedding_? before calling
da_tsne_compute_?.
If learning rate is set to any non-positive value (the default is -1), the learning rate is
automatically set to \(\max(n_{\mathrm{samples}} /\) early exaggeration \(/ 4,\; 50)\).
For options with data-dependent bounds, the valid maxima are determined after data is set:
n_componentsmust satisfy \(n_{\mathrm{components}} \le \min(3, n_{\mathrm{features}})\).perplexitymust satisfy \(\text{perplexity} \le n_{\mathrm{samples}} - 1\).
If a user-provided value exceeds these bounds, it is reduced to the nearest valid value and the API returns an incompatible-options warning status.
The option mixed precision switches on an experimental mode in which an initial embedding is found in lower precision before refining the result in the working precision.
The option low precision max_iter sets the maximum number of iterations for the low-precision phase, and low precision min_grad_norm sets the convergence tolerance for the low-precision phase.