/** @import {InputType} from "../index.js" */ /** @import {ParametersPCA, ParametersMDS, ParametersSAMMON} from "./index.js" */ /** @typedef {"PCA" | "MDS" | "random"} AvailableInit */ /** @typedef {{ PCA: ParametersPCA; MDS: ParametersMDS; random: {} }} ChooseDR */ /** * Sammon's Mapping * * A nonlinear dimensionality reduction technique that minimizes a stress * function based on the ratio of pairwise distances in high and low dimensional spaces. * * @class * @template {InputType} T * @extends DR> * @category Dimensionality Reduction */ export class SAMMON extends DR> { /** * @template {InputType} T * @param {T} X * @param {Partial>} [parameters] * @returns {T} */ static transform( X: T_1, parameters?: Partial>, ): T_1; /** * @template {InputType} T * @param {T} X * @param {Partial>} [parameters] * @returns {Generator} */ static generator( X: T_1, parameters?: Partial>, ): Generator; /** * @template {InputType} T * @param {T} X * @param {Partial>} [parameters] * @returns {Promise} */ static transform_async( X: T_1, parameters?: Partial>, ): Promise; /** * SAMMON's Mapping * * @param {T} X - The high-dimensional data. * @param {Partial>} [parameters] - Object containing parameterization of the DR * method. * @see {@link https://arxiv.org/pdf/2009.01512.pdf} */ constructor(X: T, parameters?: Partial>); /** @type {Matrix | undefined} */ distance_matrix: Matrix | undefined; /** * Initializes the projection. * * @param {Matrix | undefined} D * @returns {asserts D is Matrix} */ init(D: Matrix | undefined): asserts D is Matrix; /** * Transforms the inputdata `X` to dimensionality 2. * * @param {number} [max_iter=200] - Maximum number of iteration steps. Default is `200` * @returns {T} The projection of `X`. */ transform(max_iter?: number): T; /** * Transforms the inputdata `X` to dimenionality 2. * * @param {number} [max_iter=200] - Maximum number of iteration steps. Default is `200` * @returns {Generator} A generator yielding the intermediate steps of the projection of * `X`. */ generator(max_iter?: number): Generator; _step(): Matrix; } export type AvailableInit = "PCA" | "MDS" | "random"; export type ChooseDR = { PCA: ParametersPCA; MDS: ParametersMDS; random: {}; }; import type { InputType } from "../index.js"; import type { ParametersSAMMON } from "./index.js"; import { DR } from "./DR.js"; import { Matrix } from "../matrix/index.js"; import type { ParametersPCA } from "./index.js"; import type { ParametersMDS } from "./index.js"; //# sourceMappingURL=SAMMON.d.ts.map