export interface MakeRegressionProps { /** number of samples */ nSamples?: number; /** number of features */ nFeatures?: number; /** number of features actually used to build the linear model */ nInformative?: number; /** number of regression targets */ nTargets?: number; /** bias term of the underlying linear model */ bias?: number; /** * approximate number of singular vectors required to explain most of * the input variance; when set, X becomes a low-rank matrix with a * bell-shaped singular value profile instead of i.i.d. gaussian noise */ effectiveRank?: number; /** relative importance of the fat noisy tail of the singular profile (with effectiveRank) */ tailStrength?: number; /** standard deviation of the gaussian noise added to the targets */ noise?: number; /** shuffle the samples and the feature columns (default true) */ shuffle?: boolean; /** also return the ground-truth coefficients */ coef?: boolean; /** seed for reproducible output */ randomState?: number; } export interface MakeRegressionResult { /** samples, shape [nSamples][nFeatures] */ X: number[][]; /** targets: number[] when nTargets === 1, number[][] ([nSamples][nTargets]) otherwise */ y: number[] | number[][]; /** * ground-truth coefficients (only when `coef: true`): number[] of * length nFeatures when nTargets === 1, number[][] ([nFeatures][nTargets]) otherwise */ coef?: number[] | number[][]; } /** * Generates a random regression problem, y = X . coef + bias + noise * (port of sklearn.datasets.make_regression). Only nInformative features * have non-zero coefficients (uniform in [0, 100)). * * `effectiveRank` is fully implemented (sklearn's make_low_rank_matrix): * X = U diag(s) V^T with orthonormal U, V from QR of gaussian matrices and * a bell-shaped + fat-tail singular value profile controlled by tailStrength. */ export declare function makeRegression(props?: MakeRegressionProps): MakeRegressionResult; /** * Mostly low-rank matrix with bell-shaped singular values * (port of sklearn.datasets.make_low_rank_matrix). */ export declare function makeLowRankMatrix(nSamples: number, nFeatures: number, effectiveRank: number, tailStrength: number, gaussian: () => number): number[][];