GitHub
deepbox/metrics

Clustering, Ranking & Pairwise

Clustering metrics plus ranking, multilabel, pairwise-distance, and calibration-oriented extras.
Clustering
Ranking
adjustedMutualInfoScore
export declare function adjustedMutualInfoScore(labelsTrue: Tensor, labelsPred: Tensor, averageMethod?: AverageMethod): number;

Computes the Adjusted Mutual Information (AMI) between two clusterings.

adjustedRandScore
export declare function adjustedRandScore(labelsTrue: Tensor, labelsPred: Tensor): number;

Computes the Adjusted Rand Index (ARI).

calinskiHarabaszScore
export declare function calinskiHarabaszScore(X: Tensor, labels: Tensor): number;

Computes the Calinski-Harabasz index (Variance Ratio Criterion).

completenessScore
export declare function completenessScore(labelsTrue: Tensor, labelsPred: Tensor): number;

Computes the completeness score of a clustering.

daviesBouldinScore
export declare function daviesBouldinScore(X: Tensor, labels: Tensor): number;

Computes the Davies-Bouldin index.

fowlkesMallowsScore
export declare function fowlkesMallowsScore(labelsTrue: Tensor, labelsPred: Tensor): number;

Computes the Fowlkes-Mallows Index (FMI).

homogeneityScore
export declare function homogeneityScore(labelsTrue: Tensor, labelsPred: Tensor): number;

Computes the homogeneity score of a clustering.

normalizedMutualInfoScore
export declare function normalizedMutualInfoScore(labelsTrue: Tensor, labelsPred: Tensor, averageMethod?: AverageMethod): number;

Computes the Normalized Mutual Information (NMI) between two clusterings.

silhouetteSamples
export declare function silhouetteSamples(X: Tensor, labels: Tensor, metric?: SilhouetteMetric): Tensor;

Computes the Silhouette Coefficient for each sample.

silhouetteScore
export declare function silhouetteScore(X: Tensor, labels: Tensor, metric?: SilhouetteMetric, options?: { sampleSize?: number; randomState?: number; }): number;

Computes the mean Silhouette Coefficient over all samples.

vMeasureScore
export declare function vMeasureScore(labelsTrue: Tensor, labelsPred: Tensor, beta?: number): number;

Computes the V-measure score of a clustering.

brierScoreLoss
export declare function brierScoreLoss(yTrue: Tensor, yProb: Tensor): number;

Brier score loss for probability predictions.

coverageError
export declare function coverageError(yTrue: Tensor, yScore: Tensor): number;

Coverage error for multi-label ranking.

d2TweedieScore
export declare function d2TweedieScore(yTrue: Tensor, yPred: Tensor, power?: number): number;

D² score for Tweedie deviance regression.

detCurve
export declare function detCurve(yTrue: Tensor, yScore: Tensor): { fpr: number[]; fnr: number[]; thresholds: number[]; };

Detection Error Tradeoff (DET) curve.

hingeLoss
export declare function hingeLoss(yTrue: Tensor, yDecision: Tensor): number;

Average hinge loss (for SVM evaluation).

labelRankingLoss
export declare function labelRankingLoss(yTrue: Tensor, yScore: Tensor): number;

Label ranking loss for multi-label classification.

meanGammaDeviance
export declare function meanGammaDeviance(yTrue: Tensor, yPred: Tensor): number;

Mean Gamma deviance regression loss.

meanPinballLoss
export declare function meanPinballLoss(yTrue: Tensor, yPred: Tensor, alpha?: number): number;

Mean pinball loss (quantile loss).

meanPoissonDeviance
export declare function meanPoissonDeviance(yTrue: Tensor, yPred: Tensor): number;

Mean Poisson deviance regression loss.

meanSquaredLogError
export declare function meanSquaredLogError(yTrue: Tensor, yPred: Tensor): number;

Mean Squared Logarithmic Error (MSLE).

multilabelConfusionMatrix
export declare function multilabelConfusionMatrix(yTrue: Tensor, yPred: Tensor, labels?: number[]): Array<{ label: number; tn: number; fp: number; fn: number; tp: number; }>;

Compute a confusion matrix for each class (multilabel).

smape
export declare function smape(yTrue: Tensor, yPred: Tensor): number;

Symmetric Mean Absolute Percentage Error (SMAPE).

topKAccuracyScore
export declare function topKAccuracyScore(yTrue: Tensor, yScore: Tensor, k?: number): number;

Top-K accuracy score.

zeroOneLoss
export declare function zeroOneLoss(yTrue: Tensor, yPred: Tensor): number;

Zero-one classification loss (fraction of misclassifications).

ndcgScore
export declare function ndcgScore(yTrue: Tensor, yScore: Tensor, k?: number): number;

Compute Normalized Discounted Cumulative Gain (NDCG) at rank k.

pairwiseCosine
export declare function pairwiseCosine(X: Tensor): Tensor;

Compute pairwise cosine distances between rows of X.

pairwiseEuclidean
export declare function pairwiseEuclidean(X: Tensor): Tensor;

pairwiseEuclidean is exported by deepbox/metrics.

pairwiseManhattan
export declare function pairwiseManhattan(X: Tensor): Tensor;

Compute pairwise Manhattan (L1) distances between rows of X.

reciprocalRank
export declare function reciprocalRank(yTrue: Tensor, yScore: Tensor): number;

Compute Mean Reciprocal Rank (MRR).

metrics-clustering.ts
import {  ndcgScore,  pairwiseCosine,  silhouetteScore,  topKAccuracyScore,} from "deepbox/metrics";import { tensor } from "deepbox/ndarray";const X = tensor([[1, 0], [0.9, 0.1], [0, 1], [0.1, 0.9]]);const labels = tensor([0, 0, 1, 1]);console.log(silhouetteScore(X, labels));console.log(pairwiseCosine(X).toString());console.log(ndcgScore(tensor([[1, 0, 1]]), tensor([[0.9, 0.2, 0.7]])));console.log(topKAccuracyScore(tensor([2]), tensor([[0.1, 0.2, 0.9]]), 1));