Native R tools for optimal binning workflows in predictive modeling.
The package provides APIs for binary, multi-class and continuous targets,
with multi-variable binning and scorecard workflows. Methods are informed
by Navas-Palencia (2020)
optbinningR is a native R package for optimal binning, scorecard, and monitoring workflows.
This is an independent implementation for the R community, inspired by the Python package optbinning, but rewritten for R users and R package conventions.
CRAN:
install.packages("optbinningR")
CRAN status: submission is currently in process of acceptance.
GitHub:
remotes::install_github("s-rani1/optbinningR")
Local tarball:
install.packages("optbinningR_0.2.1.tar.gz", repos = NULL, type = "source")
Core package usage is native R.
You do not need Python for:
BinningProcess, Scorecard, monitoring, counterfactualsPython parity scripts in scripts/ are optional validation utilities only.
library(optbinningR)
d <- read.csv(system.file("extdata", "breast_cancer_mean_radius.csv", package = "optbinningR"))
y <- d$y
x <- d$x
ob <- OptimalBinning(name = "mean radius", dtype = "numerical")
ob <- fit(
ob, x, y,
algorithm = "optimal",
prebinning_method = "cart",
max_n_prebins = 20,
max_n_bins = 6,
monotonic_trend = "auto"
)
bt <- binning_table(ob)
build(bt)
plot(ob, type = "woe")
Binary:

Continuous:

Multiclass:

These are GitHub-rendered tutorial pages (recommended for reading):
Source R Markdown files (for editing/running):
inst/doc/tutorial-binary.Rmdinst/doc/tutorial-continuous.Rmdinst/doc/tutorial-multiclass.Rmdinst/doc/getting-started.Rmdascending, descending, peak, valley, autobinning_table handle and build() output formatBinningProcess and Scorecard workflowsscorecard_monitoring() and counterfactual_scorecard()run_fico_tutorial() and run_telco_tutorial()See the CRAN release process documentation in the repository.
Contributions are welcome via pull requests.
For substantial changes, please open an issue first to discuss scope and approach.
Bug reports and feature requests: GitHub Issues
If this project is useful for your work, please consider starring the repository: s-rani1/optbinningR
optbinningoptbinningR references the upstream methodology and tutorials, but the package code here is reimplemented in R for direct R usage.
If you use optbinningR, please cite:
optbinning project and references from its documentation:Citation metadata for this repository is available from the GitHub citation tab.