The bnclassify package provides state-of-the art algorithms for learning Bayesian network classifiers from data. For structure learning it provides variants of the greedy hill-climbing search, a well-known adaptation of the Chow-Liu algorithm and averaged one-dependence estimators. It provides Bayesian and maximum likelihood parameter estimation, as well as three naive-Bayes specific methods based on discriminative score optimization and Bayesian model averaging. The implementation is efficient enough to allow for time-consuming discriminative scores on medium sized data sets. The bnclassify package provides utilities for model evaluation, such as cross-validated accuracy and penalized log-likelihood scores, and analysis of the underlying networks, including network plotting via the Rgraphviz package. It is extensively tested, with over 200 automated tests that give a code coverage of 94%. Here we present the main functionalities, illustrate them with a number of data sets, and comment on related software.
Supplementary materials are available in addition to this article. It can be downloaded at RJ-2018-073.zip
bnlearn, bnclassify, caret, mlr, gRain, deal
Bayesian, gR, HighPerformanceComputing, MachineLearning, Multivariate
Text and figures are licensed under Creative Commons Attribution CC BY 4.0. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".
For attribution, please cite this work as
Mihaljević, et al., "bnclassify: Learning Bayesian Network Classifiers", The R Journal, 2018
BibTeX citation
@article{RJ-2018-073, author = {Mihaljević, Bojan and Bielza, Concha and Larrañaga, Pedro}, title = {bnclassify: Learning Bayesian Network Classifiers}, journal = {The R Journal}, year = {2018}, note = {https://doi.org/10.32614/RJ-2018-073}, doi = {10.32614/RJ-2018-073}, volume = {10}, issue = {2}, issn = {2073-4859}, pages = {455-468} }