@saehrimnir/druidjs / KKMDS
Class: KKMDS<T>
Defined in: dimred/KKMDS.js:22
Kamada-Kawai Multidimensional Scaling (KKMDS)
StressMDS fixed at weights: -2, weighting each pair by 1 / d_ij². That is the Kamada-Kawai energy from graph drawing, known in the MDS literature as elastic scaling.
Its classic use is laying out a graph from its shortest-path distances — pass those as a "precomputed" matrix, as MINFOTree does.
Template
T
See
- https://doi.org/10.1016/0020-0190(89)90102-6
- StressMDS for other weightings.
Extends
Type Parameters
| Type Parameter | Description |
|---|---|
T extends InputType |
Constructors
Constructor
new KKMDS<T>(X: T, parameters?: Partial<ParametersKKMDS>): KKMDS<T>;Defined in: dimred/KKMDS.js:30
Kamada-Kawai weighted MDS.
Parameters
| Parameter | Type | Description |
|---|---|---|
X | T | The high-dimensional data, or a precomputed distance matrix. |
parameters? | Partial<ParametersKKMDS> | Object containing parameterization of the DR method. weights is not among them; it is fixed at -2. |
Returns
KKMDS<T>
Overrides
Properties
| Property | Type | Default value | Description | Inherited from | Defined in |
|---|---|---|---|---|---|
__input | T | undefined | - | StressMDS.__input | dimred/DR.js:46 |
_D | number | undefined | - | StressMDS._D | dimred/DR.js:28 |
_energy | number | Infinity | - | StressMDS._energy | dimred/StressMDS.js:63 |
_is_initialized | boolean | undefined | - | StressMDS._is_initialized | dimred/DR.js:34 |
_N | number | undefined | - | StressMDS._N | dimred/DR.js:30 |
_parameters | ParametersStressMDS | undefined | - | StressMDS._parameters | dimred/DR.js:49 |
_randomizer | Randomizer | undefined | - | StressMDS._randomizer | dimred/DR.js:32 |
_target_distances | Matrix | undefined | undefined | The target distances. Named apart from the base class's _D, which is the input dimensionality of X, not a matrix. | StressMDS._target_distances | dimred/StressMDS.js:57 |
_type | "array" | "matrix" | "typed" | undefined | - | StressMDS._type | dimred/DR.js:54 |
_weights | Matrix | undefined | undefined | - | StressMDS._weights | dimred/StressMDS.js:60 |
X | Matrix | undefined | - | StressMDS.X | dimred/DR.js:56 |
Y | Matrix | undefined | - | StressMDS.Y | dimred/DR.js:58 |
Accessors
energy
Get Signature
get energy(): number;Defined in: dimred/StressMDS.js:103
The weighted stress σ(Y) of the current embedding.
Returns
number
Inherited from
projection
Get Signature
get projection(): T;Defined in: dimred/DR.js:219
Returns
T
The projection in the type of input X.
Inherited from
weights
Get Signature
get weights(): Matrix;Defined in: dimred/StressMDS.js:113
The weight matrix actually in use, whatever form weights was given in.
Returns
Inherited from
Methods
[dispose]()
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.
using tsne = new TSNE(X, { d: 2 });
const steps = tsne.generator(500);
steps.next(); // buffers released when the enclosing block exitsReturns
void
Inherited from
check_init()
check_init(): DR<T, ParametersStressMDS>;Defined in: dimred/DR.js:210
If the respective DR method has an init function, call it before transform.
Returns
DR<T, ParametersStressMDS>
Inherited from
generator()
generator(): Generator<T, T, void>;Defined in: dimred/StressMDS.js:326
Computes the projection.
Returns
Generator<T, T, void>
A generator yielding the intermediate steps of the projection.
Inherited from
init()
init(): KKMDS<T>;Defined in: dimred/StressMDS.js:186
Computes the target distances, the weights, and the starting configuration.
Returns
KKMDS<T>
Inherited from
parameter()
Call Signature
parameter(): ParametersStressMDS;Defined in: dimred/DR.js:82
Get all Parameters.
Returns
Inherited from
Call Signature
parameter<K>(name: K): ParametersStressMDS[K];Defined in: dimred/DR.js:88
Get value of given parameter.
Type Parameters
| Type Parameter | Description |
|---|---|
K extends keyof ParametersStressMDS |
Parameters
| Parameter | Type | Description |
|---|---|---|
name | K | Name of the parameter. |
Returns
Inherited from
Call Signature
parameter<K>(name: K, value: ParametersStressMDS[K]): KKMDS<T>;Defined in: dimred/DR.js:95
Set value of given parameter.
Type Parameters
| Type Parameter | Description |
|---|---|
K extends keyof ParametersStressMDS |
Parameters
| Parameter | Type | Description |
|---|---|---|
name | K | Name of the parameter. |
value | ParametersStressMDS[K] | Value of the parameter to set. |
Returns
KKMDS<T>
Inherited from
release()
release(): KKMDS<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
KKMDS<T>
Example
const tsne = new TSNE(X, { d: 2 });
const steps = tsne.generator(500);
steps.next();
tsne.release(); // stop early and give the buffers backInherited from
transform()
transform(): T;Defined in: dimred/StressMDS.js:386
Computes the projection.
Returns
T
Inherited from
transform_async()
transform_async(...args: unknown[]): Promise<T>;Defined in: dimred/DR.js:241
Computes the projection.
Parameters
| Parameter | Type | Description |
|---|---|---|
...args | unknown[] | Arguments the transform method of the respective DR method takes. |
Returns
Promise<T>
The dimensionality reduced dataset.
Inherited from
generator()
static generator<T>(X: T, parameters?: Partial<ParametersKKMDS>): Generator<T, T, void>;Defined in: dimred/KKMDS.js:51
Type Parameters
| Type Parameter | Description |
|---|---|
T extends InputType |
Parameters
| Parameter | Type | Description |
|---|---|---|
X | T | - |
parameters? | Partial<ParametersKKMDS> | - |
Returns
Generator<T, T, void>
Overrides
transform()
static transform<T>(X: T, parameters?: Partial<ParametersKKMDS>): T;Defined in: dimred/KKMDS.js:40
Type Parameters
| Type Parameter | Description |
|---|---|
T extends InputType |
Parameters
| Parameter | Type | Description |
|---|---|---|
X | T | - |
parameters? | Partial<ParametersKKMDS> | - |
Returns
T
Overrides
transform_async()
static transform_async<T>(X: T, parameters?: Partial<ParametersKKMDS>): Promise<T>;Defined in: dimred/KKMDS.js:63
Type Parameters
| Type Parameter | Description |
|---|---|
T extends InputType |
Parameters
| Parameter | Type | Description |
|---|---|---|
X | T | - |
parameters? | Partial<ParametersKKMDS> | - |
Returns
Promise<T>