Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/alexplatasl/dplbnde/llms.txt

Use this file to discover all available pages before exploring further.

dplbnDE is an R package that trains Bayesian Network parameters using Differential Evolution (DE) to maximize Conditional Log-Likelihood (CLL) rather than the traditional log-likelihood. This discriminative approach reduces classification error by directly optimizing the classification objective. The package provides 10 DE variants — from classic fixed-parameter algorithms to modern adaptive and hybrid memetic strategies — all compatible with the bnclassify package for downstream analysis and prediction.

Quick Start

Install dplbnDE and train your first Bayesian Network classifier in minutes

Function Reference

Full parameter documentation for all 10 DE algorithm variants

Concepts

Understand discriminative learning, DE, and Bayesian Network structures

Guides

Practical guides for structure learning, custom topologies, and evaluation

Choose your algorithm

dplbnDE offers 10 Differential Evolution variants organized by complexity and adaptation strategy:

DEbest

Classic DE/best/k — fast and reliable baseline

DErand

Classic DE/rand/k — explores more broadly

JADE

Adaptive with optional external archive

L-SHADE

Adaptive with linear population reduction

jSO

Phase-based weighted mutation strategy

NL-SHADE-RSP

Non-linear reduction with ranked selection pressure

SHADE-ILS

SHADE + iterative Solis-Wets local search

SHADE-MTS

SHADE + coordinate-wise MTS-LS1 local search

MA-SW-Chains

Memetic algorithm with persistent Solis-Wets chains per individual

MOS

Multiple Offspring Sampling — dynamically balances DE and Solis-Wets

Getting started

1

Install the package

Install dplbnDE from CRAN or GitHub using install.packages or devtools.
install.packages("dplbnDE")
2

Load your data

Load a data frame where one column is the class variable.
library(dplbnDE)
data(car)
3

Run discriminative parameter learning

Choose a DE variant and a BN structure. Here we use L-SHADE with a TAN structure:
result <- lshade(
  NP = 30, G = 50,
  data = car,
  class.name = names(car)[7],
  structure = "tan",
  c = 0.1, pB = 0.05,
  verbose = 10
)
4

Evaluate and predict

Print the results and use the best network for prediction via bnclassify:
print(result)
predictions <- predict(result$Best, car)
accuracy(predictions, car$class)
dplbnDE requires R >= 3.2.0 and depends on the bnclassify package (>= 0.4.5) for Bayesian Network structure learning and parameter initialization.