Skip to content

bsnsing

Build Decision Trees with Optimal Multivariate Splits

v1.0.1 · Jul 3, 2022 · GPL-3

Description

Functions for training an optimal decision tree classifier, making predictions and generating latex code for plotting. Works for two-class and multi-class classification problems. The algorithm seeks the optimal Boolean rule consisting of multiple variables to split a node, resulting in shorter trees. Use bsnsing() to build a tree, predict() to make predictions and plot() to plot the tree into latex and PDF. See Yanchao Liu (2022) <arXiv:2205.15263> for technical details. Source code and more data sets are at <https://github.com/profyliu/bsnsing/>.

Downloads

180

Last 30 days

18625th

331

Last 90 days

331

Last year

Trend: +19.2% (30d vs prior 30d)

CRAN Check Status

14 NOTE
Show all 14 flavors
Flavor Status
r-devel-linux-x86_64-debian-clang NOTE
r-devel-linux-x86_64-debian-gcc NOTE
r-devel-linux-x86_64-fedora-clang NOTE
r-devel-linux-x86_64-fedora-gcc NOTE
r-devel-macos-arm64 NOTE
r-devel-windows-x86_64 NOTE
r-oldrel-macos-arm64 NOTE
r-oldrel-macos-x86_64 NOTE
r-oldrel-windows-x86_64 NOTE
r-patched-linux-x86_64 NOTE
r-release-linux-x86_64 NOTE
r-release-macos-arm64 NOTE
r-release-macos-x86_64 NOTE
r-release-windows-x86_64 NOTE
Check details (16 non-OK)
NOTE r-devel-linux-x86_64-debian-clang

CRAN incoming feasibility

Maintainer: ‘Yanchao Liu <yanchaoliu@wayne.edu>’

No Authors@R field in DESCRIPTION.
Please add one, modifying
  Authors@R: person(given = "Yanchao",
                    family = "Liu",
                    role = c("aut", "cre"),
                    email = "yanchaoliu@wayne.edu")
as necessary.

The Description field contains
  Yanchao Liu (2022) <arXiv:2205.15263> for technical details. Source
Please refer to arXiv e-prints via their arXiv DOI <doi:10.48550/arXiv.YYMM.NNNNN>.
NOTE r-devel-linux-x86_64-debian-clang

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu/bsnsing/}. The default (and the best) is 'enum_c'.}
       |                                                 ^
checkRd: (-1) bscontrol.Rd:45: Lost braces; missing escapes or markup?
    45 | \item{opt.model}{a character string in the set {'gini','error'} indicating the optimization model to solve in the program. The default is 'gini'. The 'error' option is not available in the current version.}
       |                                                ^
NOTE r-devel-linux-x86_64-debian-gcc

CRAN incoming feasibility

Maintainer: ‘Yanchao Liu <yanchaoliu@wayne.edu>’

No Authors@R field in DESCRIPTION.
Please add one, modifying
  Authors@R: person(given = "Yanchao",
                    family = "Liu",
                    role = c("aut", "cre"),
                    email = "yanchaoliu@wayne.edu")
as necessary.

The Description field contains
  Yanchao Liu (2022) <arXiv:2205.15263> for technical details. Source
Please refer to arXiv e-prints via their arXiv DOI <doi:10.48550/arXiv.YYMM.NNNNN>.
NOTE r-devel-linux-x86_64-debian-gcc

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu/bsnsing/}. The default (and the best) is 'enum_c'.}
       |                                                 ^
checkRd: (-1) bscontrol.Rd:45: Lost braces; missing escapes or markup?
    45 | \item{opt.model}{a character string in the set {'gini','error'} indicating the optimization model to solve in the program. The default is 'gini'. The 'error' option is not available in the current version.}
       |                                                ^
NOTE r-devel-linux-x86_64-fedora-clang

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu/bsnsing/}. The default (and the best) is 'enum_c'.}
       |                                                 ^
checkRd: (-1) bscontrol.Rd:45: Lost braces; missing escapes or markup?
    45 | \item{opt.model}{a character string in the set {'gini','error'} indicating the optimization model to solve in the program. The default is 'gini'. The 'error' option is not available in the current version.}
       |                                                ^
NOTE r-devel-linux-x86_64-fedora-gcc

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu/bsnsing/}. The default (and the best) is 'enum_c'.}
       |                                                 ^
checkRd: (-1) bscontrol.Rd:45: Lost braces; missing escapes or markup?
    45 | \item{opt.model}{a character string in the set {'gini','error'} indicating the optimization model to solve in the program. The default is 'gini'. The 'error' option is not available in the current version.}
       |                                                ^
NOTE r-devel-macos-arm64

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu/bsnsing/}. The default (and the best) is 'enum_c'.}
       |                                                 ^
checkRd: (-1) bscontrol.Rd:45: Lost braces; missing escapes or markup?
    45 | \item{opt.model}{a character string in the set {'gini','error'} indicating the optimization model to solve in the program. The default is 'gini'. The 'error' option is not available in the current version.}
       |                                                ^
NOTE r-devel-windows-x86_64

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu/bsnsing/}. The default (and the best) is 'enum_c'.}
       |                                                 ^
checkRd: (-1) bscontrol.Rd:45: Lost braces; missing escapes or markup?
    45 | \item{opt.model}{a character string in the set {'gini','error'} indicating the optimization model to solve in the program. The default is 'gini'. The 'error' option is not available in the current version.}
       |                                                ^
NOTE r-oldrel-macos-arm64

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu/bsnsing/}. The default (and the best) is 'enum_c'.}
       |                                                 ^
checkRd: (-1) bscontrol.Rd:45: Lost braces; missing escapes or markup?
    45 | \item{opt.model}{a character string in the set {'gini','error'} indicating the optimization model to solve in the program. The default is 'gini'. The 'error' option is not available in the current version.}
       |                                                ^
NOTE r-oldrel-macos-x86_64

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu/bsnsing/}. The default (and the best) is 'enum_c'.}
       |                                                 ^
checkRd: (-1) bscontrol.Rd:45: Lost braces; missing escapes or markup?
    45 | \item{opt.model}{a character string in the set {'gini','error'} indicating the optimization model to solve in the program. The default is 'gini'. The 'error' option is not available in the current version.}
       |                                                ^
NOTE r-oldrel-windows-x86_64

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu/bsnsing/}. The default (and the best) is 'enum_c'.}
       |                                                 ^
checkRd: (-1) bscontrol.Rd:45: Lost braces; missing escapes or markup?
    45 | \item{opt.model}{a character string in the set {'gini','error'} indicating the optimization model to solve in the program. The default is 'gini'. The 'error' option is not available in the current version.}
       |                                                ^
NOTE r-patched-linux-x86_64

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu/bsnsing/}. The default (and the best) is 'enum_c'.}
       |                                                 ^
checkRd: (-1) bscontrol.Rd:45: Lost braces; missing escapes or markup?
    45 | \item{opt.model}{a character string in the set {'gini','error'} indicating the optimization model to solve in the program. The default is 'gini'. The 'error' option is not available in the current version.}
       |                                                ^
NOTE r-release-linux-x86_64

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu/bsnsing/}. The default (and the best) is 'enum_c'.}
       |                                                 ^
checkRd: (-1) bscontrol.Rd:45: Lost braces; missing escapes or markup?
    45 | \item{opt.model}{a character string in the set {'gini','error'} indicating the optimization model to solve in the program. The default is 'gini'. The 'error' option is not available in the current version.}
       |                                                ^
NOTE r-release-macos-arm64

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu/bsnsing/}. The default (and the best) is 'enum_c'.}
       |                                                 ^
checkRd: (-1) bscontrol.Rd:45: Lost braces; missing escapes or markup?
    45 | \item{opt.model}{a character string in the set {'gini','error'} indicating the optimization model to solve in the program. The default is 'gini'. The 'error' option is not available in the current version.}
       |                                                ^
NOTE r-release-macos-x86_64

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu/bsnsing/}. The default (and the best) is 'enum_c'.}
       |                                                 ^
checkRd: (-1) bscontrol.Rd:45: Lost braces; missing escapes or markup?
    45 | \item{opt.model}{a character string in the set {'gini','error'} indicating the optimization model to solve in the program. The default is 'gini'. The 'error' option is not available in the current version.}
       |                                                ^
NOTE r-release-windows-x86_64

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu/bsnsing/}. The default (and the best) is 'enum_c'.}
       |                                                 ^
checkRd: (-1) bscontrol.Rd:45: Lost braces; missing escapes or markup?
    45 | \item{opt.model}{a character string in the set {'gini','error'} indicating the optimization model to solve in the program. The default is 'gini'. The 'error' option is not available in the current version.}
       |                                                ^

Check History

NOTE 0 OK · 14 NOTE · 0 WARNING · 0 ERROR · 0 FAILURE Mar 9, 2026
NOTE r-devel-linux-x86_64-debian-clang

CRAN incoming feasibility

Maintainer: ‘Yanchao Liu <yanchaoliu@wayne.edu>’

No Authors@R field in DESCRIPTION.
Please add one, modifying
  Authors@R: person(given = "Yanchao",
                    family = "Liu",
                    role = c("aut", "cre"),
                    email = "yanchaoliu@wayne.edu")
as necessary.

The Description field contains
  Yanchao Liu (2022) <arXiv:2205.15263> for technical details. Source
Please refer to arXiv e-prints via their arXiv DOI <doi:10.48550/arXiv.YYMM.NNNNN>.
NOTE r-devel-linux-x86_64-debian-gcc

CRAN incoming feasibility

Maintainer: ‘Yanchao Liu <yanchaoliu@wayne.edu>’

No Authors@R field in DESCRIPTION.
Please add one, modifying
  Authors@R: person(given = "Yanchao",
                    family = "Liu",
                    role = c("aut", "cre"),
                    email = "yanchaoliu@wayne.edu")
as necessary.

The Description field contains
  Yanchao Liu (2022) <arXiv:2205.15263> for technical details. Source
Please refer to arXiv e-prints via their arXiv DOI <doi:10.48550/arXiv.YYMM.NNNNN>.
NOTE r-devel-linux-x86_64-fedora-clang

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu
NOTE r-devel-linux-x86_64-fedora-gcc

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu
NOTE r-devel-macos-arm64

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu
NOTE r-devel-windows-x86_64

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu
NOTE r-patched-linux-x86_64

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu
NOTE r-release-linux-x86_64

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu
NOTE r-release-macos-arm64

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu
NOTE r-release-macos-x86_64

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu
NOTE r-release-windows-x86_64

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu
NOTE r-oldrel-macos-arm64

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu
NOTE r-oldrel-macos-x86_64

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu
NOTE r-oldrel-windows-x86_64

Rd files

checkRd: (-1) bscontrol.Rd:39: Lost braces; missing escapes or markup?
    39 | \item{opt.solver}{a character string in the set {'enum', 'enum_c', 'gurobi', 'cplex', 'lpSolve', 'greedy'} indicating the optimization solver to be used in the program. The choice of 'cplex' requires the package \code{cplexAPI}, 'gurobi' requires the package \code{gurobi}, and 'lpSolve' requires the package \code{lpSolve}. These solver options are only available in the full version at \url{https://github.com/profyliu

Dependency Network

Dependencies Reverse dependencies Rcpp bsnsing

Version History

new 1.0.1 Mar 9, 2026