# szilard/benchm-ml

A minimal benchmark for scalability, speed and accuracy of commonly used open source implementations (R packages, Python scikit-learn, H2O, xgboost, Spark MLlib etc.) of the top machine learning algorithms for binary classification (random forests, gradient boosted trees, deep neural networks etc.).

Repository: https://github.com/szilard/benchm-ml
Canonical: https://ross.abutalabs.com/products/benchm-ml
Language: R
License: MIT
License Family: permissive
Topics: machine-learning, data-science, r, python, gradient-boosting-machine, random-forest, deep-learning, xgboost, h2o, spark
Last push: 2022-09-16T14:01:14+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 4177, "days_push": 1447, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1895, forks 327 (observed 2026-08-28T04:05:50.954150+00:00)

## What it is
A minimal benchmark comparing scalability, speed, and accuracy of open-source machine learning implementations (R packages, scikit-learn, H2O, xgboost, lightgbm, Spark MLlib, Vowpal Wabbit) for binary classification. It varies dataset sizes from 10K to 10M rows across linear models, random forests, gradient boosting, and deep neural networks.

## Use cases
- compare speed of xgboost vs lightgbm vs h2o on classification
- find out which ML library scales to 10M rows without running out of memory
- benchmark random forest implementations in R and Python
- evaluate accuracy of gradient boosting vs deep neural networks on tabular data
- choose an ML tool for credit scoring or fraud detection workloads
- reproduce a minimal ML benchmark with my own tool

## When to choose
- you need evidence-based comparisons of classification libraries on tabular data
- you are evaluating ML tools for medium-to-large business datasets (10K-10M rows)
- you want a simple template to benchmark your own ML implementation

## When to avoid
- you need benchmarks on sparse, high-cardinality, or missing-data scenarios
- you need distributed multi-node scaling results
- you need up-to-date results - much of the benchmark dates to 2015 and the author moved to a newer project
- you need benchmarks for tasks other than binary classification

## Facets
- artifact type: dataset
- maturity: maintenance
- function: benchmarking, machine-learning, data-science
- domain: machine-learning, data-science, performance
- platform: python, jvm, cross-platform
- tags: binary-classification, scikit-learn, xgboost, h2o, spark-mllib, r-packages, gradient-boosting, random-forest, deep-neural-networks, scalability-benchmark

## Member repositories
- szilard/benchm-ml (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:50.954150+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:12:52.185922+00:00, confidence not recorded.
  - readme: https://github.com/szilard/benchm-ml (fetched 2026-08-28T04:05:50.954150+00:00, sha 89e284c3a20e)
- Data as of 2026-08-30T08:39:29.467469+00:00.
