UNPKG

@astermind/astermind-elm

Version:

JavaScript Extreme Learning Machine (ELM) library for browser and Node.js.

70 lines (69 loc) 2.27 kB
export interface PerClassMetrics { label: string | number; support: number; tp: number; fp: number; fn: number; tn: number; precision: number; recall: number; f1: number; } export interface ClassificationAverages { accuracy: number; macroPrecision: number; macroRecall: number; macroF1: number; microPrecision: number; microRecall: number; microF1: number; weightedPrecision: number; weightedRecall: number; weightedF1: number; logLoss?: number; topKAccuracy?: number; } export interface ClassificationReport { confusionMatrix: number[][]; perClass: PerClassMetrics[]; averages: ClassificationAverages; } export interface RegressionPerOutput { index: number; mse: number; rmse: number; mae: number; r2: number; } export interface RegressionReport { perOutput: RegressionPerOutput[]; mse: number; rmse: number; mae: number; r2: number; } export declare function confusionMatrixFromIndices(yTrueIdx: number[], yPredIdx: number[], C?: number): number[][]; export declare function logLoss(yTrue: number[] | number[][], yPredProba: number[] | number[][]): number; export declare function topKAccuracy(yTrueIdx: number[], yPredProba: number[][], k?: number): number; export interface BinaryCurve { thresholds: number[]; tpr?: number[]; fpr?: number[]; precision?: number[]; recall?: number[]; auc: number; } export declare function binaryROC(yTrue01: number[], yScore: number[]): BinaryCurve; export declare function binaryPR(yTrue01: number[], yScore: number[]): BinaryCurve; /** * Evaluate multi-class classification. * - yTrue can be indices (N) or one-hot (N x C) * - yPred can be indices (N) or probabilities (N x C) * - If yPred are probabilities, we also compute logLoss and optional topK. */ export declare function evaluateClassification(yTrue: number[] | number[][], yPred: number[] | number[][], opts?: { labels?: Array<string | number>; topK?: number; }): ClassificationReport; export declare function evaluateRegression(yTrue: number[] | number[][], yPred: number[] | number[][]): RegressionReport; export declare function formatClassificationReport(rep: ClassificationReport): string;