SLmetrics
Machine Learning Performance Evaluation on Steroids
A young ML metrics package rewrote its own backend twice in six months chasing speed.
◆Recent moves
- 1y ago
Armadillo backend brings 5-20x speedups and an extensible metrics API
⚡ SPARKThe backend is ported wholesale from Eigen to Armadillo with heavy templating, reported at 5-20x faster, and the API is loosened at the same time so aggregation methods and wrapper packages are no longer boxed in. It is the release where the performance arc and the extensibility arc converge.
View source ↗ - 1y ago
Consistent S3 signatures and three bundled datasets
Gives every S3 method a generic signature, making the argument surface consistent across the package, and bundles the Wine Quality, Obesity and Banknote Authentication datasets with features and targets stored separately. The datasets point at benchmarking and teaching rather than production use.
View source ↗ - 1y ago
Regression metrics 2-10x faster with reworked OpenMP controls
Regression metrics get the same optimisation treatment the classification side received, running 2-10x faster, with LAPACK/BLAS support added for matrix operations. The OpenMP controls move to the R side with openmp.on/off and openmp.threads, a breaking but more predictable interface that respects suppressMessages().
View source ↗ - 1y ago
OpenMP parallelism and a soft-label entropy family
Introduces OpenMP parallelisation and an entropy family — entropy(), cross.entropy() and relative.entropy() — for soft labels, modelled on scipy. The logloss response argument is renamed to qk for consistency with that family, one of several breaking renames the pre-release status is being used to absorb.
View source ↗ - 1y ago
Cross-entropy loss and relative RMSE with three normalisations
Adds weighted and unweighted cross-entropy loss and a relative RMSE offering mean, range and IQR normalisation, acknowledging that no single normalisation convention is standard. Coverage-widening work in the period before the performance push took over.
View source ↗ - 1y ago
Sample weights flow through the confusion matrix
Sample weights arrive via a w argument on cmatrix(), so weighted metrics fall out of the weighted confusion matrix rather than needing separate code paths. Documentation gains embedded formulas, an early sign of the reference-material ambition the bundled datasets later reinforce.
View source ↗