Skip to content

@saehrimnir/druidjs / LocalMAP

Class: LocalMAP<T> ​

Defined in: dimred/LocalMAP.js:36

LocalMAP

A variant of PaCMAP that sharpens local cluster separation in phase 3. Attraction on the nearest-neighbor pairs is scaled by low_dist_thres / (2 * sqrt(d_ij)), which strengthens it for pairs already close in the embedding and weakens it for far ones, and the further pairs are periodically redrawn from points that are near in the current embedding rather than staying the random set chosen at initialization.

Template ​

T

See ​

Example ​

ts
import * as druid from "@saehrimnir/druidjs";

const X = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]];
const localmap = new druid.LocalMAP(X, {
    n_neighbors: 10,
    low_dist_thres: 10,
    seed: 42
});

const Y = localmap.transform(); // 450 iterations (default)
// [[x1, y1], [x2, y2], [x3, y3]]

Extends ​

Type Parameters ​

Type ParameterDescription
T extends InputType

Constructors ​

Constructor ​

ts
new LocalMAP<T>(X: T, parameters?: Partial<ParametersLocalMAP>): LocalMAP<T>;

Defined in: dimred/LocalMAP.js:41

Parameters ​

ParameterTypeDescription
XTThe high-dimensional data.
parameters?Partial<ParametersLocalMAP>Object containing parameterization of the DR method.

Returns ​

LocalMAP<T>

Overrides ​

PaCMAP.constructor

Properties ​

PropertyTypeInherited fromDefined in
__inputTPaCMAP.__inputdimred/DR.js:46
_adam_mFloat64Array<ArrayBuffer> | undefinedPaCMAP._adam_mdimred/PaCMAP.js:528
_adam_tanyPaCMAP._adam_tdimred/PaCMAP.js:452
_adam_vFloat64Array<ArrayBuffer> | undefinedPaCMAP._adam_vdimred/PaCMAP.js:529
_DnumberPaCMAP._Ddimred/DR.js:28
_fp_pairsInt32Array<ArrayBufferLike> | undefinedPaCMAP._fp_pairsdimred/PaCMAP.js:525
_gradFloat64Array<ArrayBuffer> | undefinedPaCMAP._graddimred/PaCMAP.js:531
_is_initializedbooleanPaCMAP._is_initializeddimred/DR.js:34
_iternumberPaCMAP._iterdimred/PaCMAP.js:79
_mn_pairsInt32Array<ArrayBufferLike> | undefinedPaCMAP._mn_pairsdimred/PaCMAP.js:524
_NnumberPaCMAP._Ndimred/DR.js:30
_nn_pairsInt32Array<ArrayBufferLike> | undefinedPaCMAP._nn_pairsdimred/PaCMAP.js:520
_parametersParametersLocalMAPPaCMAP._parametersdimred/DR.js:49
_randomizerRandomizerPaCMAP._randomizerdimred/DR.js:32
_type"array" | "matrix" | "typed"PaCMAP._typedimred/DR.js:54
_X_knnMatrix | undefinedPaCMAP._X_knndimred/PaCMAP.js:511
XMatrixPaCMAP.Xdimred/DR.js:56
YMatrixPaCMAP.Ydimred/DR.js:58

Accessors ​

projection ​

Get Signature ​

ts
get projection(): T;

Defined in: dimred/DR.js:219

Returns ​

T

The projection in the type of input X.

Inherited from ​

PaCMAP.projection

Methods ​

[dispose]() ​

ts
dispose: void;

Defined in: dimred/DR.js:320

Alias of release for the using declaration, so a hand-driven run frees its buffers when the block exits. Note that transform and a completed or break-ed generator() already release on their own — this only matters for a generator abandoned part way.

js
using tsne = new TSNE(X, { d: 2 });
const steps = tsne.generator(500);
steps.next(); // buffers released when the enclosing block exits

Returns ​

void

Inherited from ​

PaCMAP.[dispose]


check_init() ​

ts
check_init(): DR<T, ParametersLocalMAP>;

Defined in: dimred/DR.js:210

If the respective DR method has an init function, call it before transform.

Returns ​

DR<T, ParametersLocalMAP>

Inherited from ​

PaCMAP.check_init


generator() ​

ts
generator(iterations?: number): Generator<T, T, void>;

Defined in: dimred/PaCMAP.js:605

Parameters ​

ParameterTypeDescription
iterations?numberTotal number of iterations. Defaults to sum of num_iters.

Returns ​

Generator<T, T, void>

Inherited from ​

PaCMAP.generator


init() ​

ts
init(): LocalMAP<T>;

Defined in: dimred/PaCMAP.js:474

Initializes PaCMAP: preprocessing, PCA embedding, NN, MN and FP pairs, and Adam state.

Returns ​

LocalMAP<T>

Inherited from ​

PaCMAP.init


next() ​

ts
next(): Matrix;

Defined in: dimred/PaCMAP.js:570

Performs one optimization step.

Returns ​

Matrix

Inherited from ​

PaCMAP.next


parameter() ​

Call Signature ​

ts
parameter(): ParametersLocalMAP;

Defined in: dimred/DR.js:82

Get all Parameters.

Returns ​

ParametersLocalMAP

Inherited from ​

PaCMAP.parameter

Call Signature ​

ts
parameter<K>(name: K): ParametersLocalMAP[K];

Defined in: dimred/DR.js:88

Get value of given parameter.

Type Parameters ​
Type ParameterDescription
K extends keyof ParametersLocalMAP
Parameters ​
ParameterTypeDescription
nameKName of the parameter.
Returns ​

ParametersLocalMAP[K]

Inherited from ​

PaCMAP.parameter

Call Signature ​

ts
parameter<K>(name: K, value: ParametersLocalMAP[K]): LocalMAP<T>;

Defined in: dimred/DR.js:95

Set value of given parameter.

Type Parameters ​
Type ParameterDescription
K extends keyof ParametersLocalMAP
Parameters ​
ParameterTypeDescription
nameKName of the parameter.
valueParametersLocalMAP[K]Value of the parameter to set.
Returns ​

LocalMAP<T>

Inherited from ​

PaCMAP.parameter


release() ​

ts
release(): LocalMAP<T>;

Defined in: dimred/DR.js:302

Hands back the WASM buffers this instance is holding.

Only needed after driving generator() by hand and stopping early — a plain transform(), or a for…of over generator() (including one you break), already releases when it ends. It frees only this method's buffers, never another running instance's, and the next run simply reallocates, so it is safe to call at any time, more than once, and while other instances are mid-run.

Returns ​

LocalMAP<T>

Example ​

ts
const tsne = new TSNE(X, { d: 2 });
const steps = tsne.generator(500);
steps.next();
tsne.release(); // stop early and give the buffers back

Inherited from ​

PaCMAP.release


transform() ​

ts
transform(iterations?: number): T;

Defined in: dimred/PaCMAP.js:591

Parameters ​

ParameterTypeDescription
iterations?numberTotal number of iterations. Defaults to sum of num_iters.

Returns ​

T

Inherited from ​

PaCMAP.transform


transform_async() ​

ts
transform_async(...args: unknown[]): Promise<T>;

Defined in: dimred/DR.js:241

Computes the projection.

Parameters ​

ParameterTypeDescription
...argsunknown[]Arguments the transform method of the respective DR method takes.

Returns ​

Promise<T>

The dimensionality reduced dataset.

Inherited from ​

PaCMAP.transform_async


generator() ​

ts
static generator<T>(X: T, parameters?: Partial<ParametersLocalMAP>): Generator<T, T, void>;

Defined in: dimred/LocalMAP.js:214

Type Parameters ​

Type ParameterDescription
T extends InputType

Parameters ​

ParameterTypeDescription
XT-
parameters?Partial<ParametersLocalMAP>-

Returns ​

Generator<T, T, void>

Overrides ​

PaCMAP.generator


transform() ​

ts
static transform<T>(X: T, parameters?: Partial<ParametersLocalMAP>): T;

Defined in: dimred/LocalMAP.js:203

Type Parameters ​

Type ParameterDescription
T extends InputType

Parameters ​

ParameterTypeDescription
XT-
parameters?Partial<ParametersLocalMAP>-

Returns ​

T

Overrides ​

PaCMAP.transform


transform_async() ​

ts
static transform_async<T>(X: T, parameters?: Partial<ParametersLocalMAP>): Promise<T>;

Defined in: dimred/LocalMAP.js:226

Type Parameters ​

Type ParameterDescription
T extends InputType

Parameters ​

ParameterTypeDescription
XT-
parameters?Partial<ParametersLocalMAP>-

Returns ​

Promise<T>

Overrides ​

PaCMAP.transform_async