import { ClassifierBase } from '../base'; import { Params } from '../base/estimator'; import { MLPProps } from './mlpBase'; export interface MLPClassifierProps extends MLPProps { } /** * Multi-layer perceptron classifier trained with minibatch backpropagation * (sklearn `MLPClassifier` parity for the 'adam' and 'sgd' solvers; the * lbfgs solver is not implemented). * * Binary problems use a SINGLE logistic output unit with binary * cross-entropy, exactly like sklearn's LabelBinarizer encoding; multiclass * problems use a softmax output layer with categorical cross-entropy. * The L2 penalty `alpha` applies to weights only, never biases. * * Early stopping (`earlyStopping: true`) holds out the LAST * `validationFraction` of the rows as a plain deterministic split (sklearn * uses a shuffled, stratified split for classifiers — documented deviation) * and restores the weights with the best validation accuracy. */ export declare class MLPClassifier extends ClassifierBase { private params; private fitted; private classesList; private coefsState; private interceptsState; private lossCurveState; private nIterState; constructor(props?: MLPClassifierProps); getParams(): Params; /** Sorted class labels seen during fit. */ get classes(): number[]; /** Mean training loss recorded at the end of each epoch. */ get lossCurve(): number[]; /** Number of epochs actually run by the last fit. */ get nIter(): number; fit(trainX: number[][], trainY: number[]): void; /** * Class-membership probabilities, columns ordered by the sorted class * labels (`classes`); each row sums to 1. */ predictProba(testX: number[][]): number[][]; predict(testX: number[][]): number[]; private rawOutput; }