Skip to content

@saehrimnir/druidjs / UMAP

Class: UMAP<T>

Defined in: dimred/UMAP.js:41

Uniform Manifold Approximation and Projection (UMAP)

A novel manifold learning technique for dimensionality reduction. UMAP is constructed from a theoretical framework based on Riemannian geometry and algebraic topology. It is often faster than t-SNE while preserving more of the global structure.

Template

See

  • Paper
  • TSNE for a similar visualization technique

Example

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

const X = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]];
const umap = new druid.UMAP(X, {
    n_neighbors: 15,
    min_dist: 0.1,
    d: 2,
    seed: 42
});

const Y = umap.transform(500); // 500 iterations
// [[x1, y1], [x2, y2], [x3, y3]]

Extends

  • DR

Type Parameters

Type ParameterDescription
T extends InputType

Constructors

Constructor

ts
new UMAP<T>(X: T, parameters?: Partial<ParametersUMAP>): UMAP<T>;

Defined in: dimred/UMAP.js:46

Parameters

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

Returns

UMAP<T>

Overrides

ts
DR.constructor

Properties

PropertyTypeInherited fromDefined in
__inputTDR.__inputdimred/DR.js:38
_anumber | undefined-dimred/UMAP.js:331
_alphanumber | undefined-dimred/UMAP.js:479
_bnumber | undefined-dimred/UMAP.js:332
_DnumberDR._Ddimred/DR.js:20
_epoch_of_next_negative_sampleFloat32Array<ArrayBuffer> | undefined-dimred/UMAP.js:341
_epoch_of_next_sampleFloat32Array<ArrayBuffer> | undefined-dimred/UMAP.js:340
_epochs_per_negative_sampleFloat32Array<ArrayBuffer> | undefined-dimred/UMAP.js:339
_epochs_per_sampleFloat32Array<ArrayBufferLike> | undefined-dimred/UMAP.js:338
_graphMatrix | undefined-dimred/UMAP.js:333
_headnumber[] | undefined-dimred/UMAP.js:335
_is_initializedbooleanDR._is_initializeddimred/DR.js:26
_iternumber-dimred/UMAP.js:82
_NnumberDR._Ndimred/DR.js:22
_parametersParametersUMAPDR._parametersdimred/DR.js:41
_randomizerRandomizerDR._randomizerdimred/DR.js:24
_tailnumber[] | undefined-dimred/UMAP.js:336
_type"array" | "matrix" | "typed"DR._typedimred/DR.js:46
_weightsnumber[] | undefined-dimred/UMAP.js:337
XMatrixDR.Xdimred/DR.js:48
YMatrixDR.Ydimred/UMAP.js:84

Accessors

projection

Get Signature

ts
get projection(): T;

Defined in: dimred/DR.js:211

Returns

T

The projection in the type of input X.

Inherited from

ts
DR.projection

Methods

check_init()

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

Defined in: dimred/DR.js:202

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

Returns

DR<T, ParametersUMAP>

Inherited from

ts
DR.check_init

generator()

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

Defined in: dimred/UMAP.js:370

Parameters

ParameterTypeDefault valueDescription
iterations?number350Number of iterations. Default is 350

Returns

Generator<T, T, void>

Overrides

ts
DR.generator

graph()

ts
graph(): {
  cols: number[] | undefined;
  rows: number[] | undefined;
  weights: number[] | undefined;
};

Defined in: dimred/UMAP.js:345

Returns

ts
{
  cols: number[] | undefined;
  rows: number[] | undefined;
  weights: number[] | undefined;
}
NameTypeDefined in
colsnumber[] | undefineddimred/UMAP.js:347
rowsnumber[] | undefineddimred/UMAP.js:347
weightsnumber[] | undefineddimred/UMAP.js:347

init()

ts
init(): UMAP<T>;

Defined in: dimred/UMAP.js:324

Computes all necessary

Returns

UMAP<T>

Overrides

ts
DR.init

parameter()

Call Signature

ts
parameter(): ParametersUMAP;

Defined in: dimred/DR.js:74

Get all Parameters.

Returns

ParametersUMAP

Inherited from
ts
DR.parameter

Call Signature

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

Defined in: dimred/DR.js:80

Get value of given parameter.

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

ParametersUMAP[K]

Inherited from
ts
DR.parameter

Call Signature

ts
parameter<K>(name: K, value: ParametersUMAP[K]): UMAP<T>;

Defined in: dimred/DR.js:87

Set value of given parameter.

Type Parameters
Type ParameterDescription
K extends keyof ParametersUMAP
Parameters
ParameterTypeDescription
nameKName of the parameter.
valueParametersUMAP[K]Value of the parameter to set.
Returns

UMAP<T>

Inherited from
ts
DR.parameter

transform()

ts
transform(iterations?: number): T;

Defined in: dimred/UMAP.js:354

Parameters

ParameterTypeDefault valueDescription
iterations?number350Number of iterations. Default is 350

Returns

T

Overrides

ts
DR.transform

transform_async()

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

Defined in: dimred/DR.js:233

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

ts
DR.transform_async

generator()

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

Defined in: dimred/UMAP.js:502

Type Parameters

Type ParameterDescription
T extends InputType

Parameters

ParameterTypeDescription
XT-
parameters?Partial<ParametersUMAP>-

Returns

Generator<T, T, void>

Overrides

ts
DR.generator

transform()

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

Defined in: dimred/UMAP.js:491

Type Parameters

Type ParameterDescription
T extends InputType

Parameters

ParameterTypeDescription
XT-
parameters?Partial<ParametersUMAP>-

Returns

T

Overrides

ts
DR.transform

transform_async()

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

Defined in: dimred/UMAP.js:514

Type Parameters

Type ParameterDescription
T extends InputType

Parameters

ParameterTypeDescription
XT-
parameters?Partial<ParametersUMAP>-

Returns

Promise<T>

Overrides

ts
DR.transform_async