bnclassify: Learning Bayesian Network Classifiers

Abstract:

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.

Cite PDF Tweet

Published

Dec. 10, 2018

Received

May 29, 2018

DOI

10.32614/RJ-2018-073

Volume

Pages

10/2

455 - 468

Supplementary materials

Supplementary materials are available in addition to this article. It can be downloaded at RJ-2018-073.zip

CRAN packages used

bnlearn, bnclassify, caret, mlr, gRain, deal

CRAN Task Views implied by cited packages

Bayesian, gR, HighPerformanceComputing, MachineLearning, Multivariate

Bioconductor packages used

Rgraphviz

Footnotes

    Reuse

    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 ...".

    Citation

    For attribution, please cite this work as

    Mihaljević, et al., "The R Journal: 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 = {The R Journal: 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}
    }