import { Dataset } from './common'; export interface MakeClassificationProps { /** total number of samples */ nSamples?: number; /** total number of features */ nFeatures?: number; /** number of informative features */ nInformative?: number; /** number of redundant features (random linear combinations of the informative ones) */ nRedundant?: number; /** number of duplicated features (copies of informative/redundant columns) */ nRepeated?: number; /** number of classes */ nClasses?: number; /** number of gaussian clusters per class */ nClustersPerClass?: number; /** * class proportions; length nClasses, or nClasses - 1 (the last weight * is inferred as 1 - sum) */ weights?: number[]; /** fraction of samples whose class is assigned randomly (label noise) */ flipY?: number; /** factor multiplying the hypercube size; larger values spread the classes apart */ classSep?: number; /** put cluster centroids on the vertices of a hypercube (vs a random polytope) */ hypercube?: boolean; /** * shift added to all features; a single value or one per feature. * Pass null to draw a random shift in [-classSep, classSep] (sklearn's * `shift=None` behaviour). */ shift?: number | number[] | null; /** * factor multiplying all features; a single value or one per feature. * Pass null to draw a random scale in [1, 100] (sklearn's `scale=None` * behaviour). Scaling happens after shifting. */ scale?: number | number[] | null; /** shuffle the samples and the feature columns (default true) */ shuffle?: boolean; /** seed for reproducible output */ randomState?: number; } /** * Generates a random n-class classification problem * (port of sklearn.datasets.make_classification). * * Informative features are drawn from gaussian clusters placed on the * vertices of an nInformative-dimensional hypercube with sides of length * 2 * classSep, each cluster given a random covariance. Redundant features * are random linear combinations of the informative ones, repeated * features are exact duplicates, and the remaining features are noise. */ export declare function makeClassification(props?: MakeClassificationProps): Dataset;