Logo

Tutorials and notebooks

  • Tutorials on pyAgrum
    • Tutorial pyAgrum
    • Using pyAgrum
  • Exact and Approximated Inference
    • Probablistic Inference with pyAgrum
    • Relevance Reasoning with pyAgrum
    • Some other features in Bayesian inference
    • Approximate inference in aGrUM (pyAgrum)
    • Different sampling inference
  • Learning Bayesian networks
    • Learning the structure of a Bayesian network
    • Learning BN as probabilistic classifier
    • Learning essential graphs
    • Dirichlet prior
    • Parametric EM (missing data)
    • Scores, Chi2, etc. with BNLearner
  • Different Graphical Models
    • Influence diagram
    • Dynamic Bayesian Networks
    • Markov random fields (a.k.a. Markov Networks)
    • Credal Networks
    • Object-Oriented Probabilistic Relational Model
  • Bayesian networks as scikit-learn compliant classifiers
    • Learning classifiers
    • Discretization using pyAgrum’s DiscreteTypeProcessor
    • Comparing classifiers (including Bayesian networks) with scikit-learn
    • Using sklearn to cross-validate bayesian network classifier
    • From a Bayesian network to a Classifier
  • Causal Bayesian Networks
    • Smoking, Cancer and causality
    • Simpson’s Paradox
    • Multinomial Simpson Paradox
    • Some examples of do-calculus
    • Counterfactual : the Effect of Education and Experience on Salary
    • Causal Effect Estimation in datasets
  • pyAgrum’s (experimental) models
    • Using Continuous-Time Bayesian Networks
    • Conditional Linear Gaussian models
    • Bayesian Network Mixture (BNM) model
  • pyAgrum’s specific features
    • SHAP values, SHALL values
    • Named tensors
    • Aggregators
    • Explaining a model
    • Kullback-Leibler for Bayesian networks
    • Comparing BNs
    • Customizing and exporting graphical models and CPTs as image (pdf, png)
    • gum.config :the configuration object for pyAgrum
  • Examples
    • Kaggle Titanic
    • Naive modeling of credit defaults using a Markov Random Field
    • Learning and causality
    • Sensitivity analysis for Bayesian networks using credal networks
    • Quasi-continuous BN
    • Bayesian Beta Distributed Coin Inference
    • ACE estimations from real observational data
    • interactive notebooks
  • Examples from ‘The Book of Why’ (J. Pearl, 2018)
    • MiniTuring (p46)
    • Smallpox Paradox (p50)
    • Where is my Bag ? (p115)
    • Walking Example (p135)
    • Back-Door Criterion (p150)
    • Smoking (chapter 5)
    • Monty Hall Problem (p178)
    • Do-Calculus (p213)
    • The Curious Case(s) For Dr. Snow (p224)
    • Good and Bas Cholesterol (p229)
    • The Effect of Education and Experience on Salary (p251)

1- Fundamental components

  • Graphs manipulation
    • Edges and Arcs
      • Arc
        • Arc.first()
        • Arc.head()
        • Arc.other()
        • Arc.second()
        • Arc.tail()
      • Edge
        • Edge.first()
        • Edge.other()
        • Edge.second()
    • Directed Graphs
      • DiGraph
        • DiGraph.addArc()
        • DiGraph.addNode()
        • DiGraph.addNodeWithId()
        • DiGraph.addNodes()
        • DiGraph.adjacencyMatrix()
        • DiGraph.arcs()
        • DiGraph.children()
        • DiGraph.clear()
        • DiGraph.completeGraph()
        • DiGraph.connectedComponents()
        • DiGraph.empty()
        • DiGraph.emptyArcs()
        • DiGraph.eraseArc()
        • DiGraph.eraseChildren()
        • DiGraph.eraseNode()
        • DiGraph.eraseParents()
        • DiGraph.existsArc()
        • DiGraph.existsNode()
        • DiGraph.hasDirectedPath()
        • DiGraph.nodes()
        • DiGraph.parents()
        • DiGraph.size()
        • DiGraph.sizeArcs()
        • DiGraph.toDot()
        • DiGraph.topologicalOrder()
      • DAG
        • DAG.addArc()
        • DAG.addNode()
        • DAG.addNodeWithId()
        • DAG.addNodes()
        • DAG.adjacencyMatrix()
        • DAG.arcs()
        • DAG.children()
        • DAG.clear()
        • DAG.completeGraph()
        • DAG.connectedComponents()
        • DAG.dSeparation()
        • DAG.empty()
        • DAG.emptyArcs()
        • DAG.eraseArc()
        • DAG.eraseChildren()
        • DAG.eraseNode()
        • DAG.eraseParents()
        • DAG.existsArc()
        • DAG.existsNode()
        • DAG.hasDirectedPath()
        • DAG.minimalCondSet()
        • DAG.moralGraph()
        • DAG.moralizedAncestralGraph()
        • DAG.nodes()
        • DAG.parents()
        • DAG.size()
        • DAG.sizeArcs()
        • DAG.toDot()
        • DAG.topologicalOrder()
    • Undirected Graphs
      • UndiGraph
        • UndiGraph.addEdge()
        • UndiGraph.addNode()
        • UndiGraph.addNodeWithId()
        • UndiGraph.addNodes()
        • UndiGraph.adjacencyMatrix()
        • UndiGraph.clear()
        • UndiGraph.completeGraph()
        • UndiGraph.connectedComponents()
        • UndiGraph.edges()
        • UndiGraph.empty()
        • UndiGraph.emptyEdges()
        • UndiGraph.eraseEdge()
        • UndiGraph.eraseNeighbours()
        • UndiGraph.eraseNode()
        • UndiGraph.existsEdge()
        • UndiGraph.existsNode()
        • UndiGraph.hasUndirectedCycle()
        • UndiGraph.neighbours()
        • UndiGraph.nodes()
        • UndiGraph.nodes2ConnectedComponent()
        • UndiGraph.partialUndiGraph()
        • UndiGraph.size()
        • UndiGraph.sizeEdges()
        • UndiGraph.toDot()
      • CliqueGraph
        • CliqueGraph.addEdge()
        • CliqueGraph.addNode()
        • CliqueGraph.addNodeWithId()
        • CliqueGraph.addNodes()
        • CliqueGraph.addToClique()
        • CliqueGraph.adjacencyMatrix()
        • CliqueGraph.clear()
        • CliqueGraph.clearEdges()
        • CliqueGraph.clique()
        • CliqueGraph.completeGraph()
        • CliqueGraph.connectedComponents()
        • CliqueGraph.container()
        • CliqueGraph.containerPath()
        • CliqueGraph.edges()
        • CliqueGraph.empty()
        • CliqueGraph.emptyEdges()
        • CliqueGraph.eraseEdge()
        • CliqueGraph.eraseFromClique()
        • CliqueGraph.eraseNeighbours()
        • CliqueGraph.eraseNode()
        • CliqueGraph.existsEdge()
        • CliqueGraph.existsNode()
        • CliqueGraph.hasRunningIntersection()
        • CliqueGraph.hasUndirectedCycle()
        • CliqueGraph.isJoinTree()
        • CliqueGraph.neighbours()
        • CliqueGraph.nodes()
        • CliqueGraph.nodes2ConnectedComponent()
        • CliqueGraph.partialUndiGraph()
        • CliqueGraph.separator()
        • CliqueGraph.setClique()
        • CliqueGraph.size()
        • CliqueGraph.sizeEdges()
        • CliqueGraph.toDot()
        • CliqueGraph.toDotWithNames()
    • Mixed Graph
      • MixedGraph
        • MixedGraph.addArc()
        • MixedGraph.addEdge()
        • MixedGraph.addNode()
        • MixedGraph.addNodeWithId()
        • MixedGraph.addNodes()
        • MixedGraph.adjacencyMatrix()
        • MixedGraph.arcs()
        • MixedGraph.boundary()
        • MixedGraph.chainComponent()
        • MixedGraph.children()
        • MixedGraph.clear()
        • MixedGraph.completeGraph()
        • MixedGraph.connectedComponents()
        • MixedGraph.edges()
        • MixedGraph.empty()
        • MixedGraph.emptyArcs()
        • MixedGraph.emptyEdges()
        • MixedGraph.eraseArc()
        • MixedGraph.eraseChildren()
        • MixedGraph.eraseEdge()
        • MixedGraph.eraseNeighbours()
        • MixedGraph.eraseNode()
        • MixedGraph.eraseParents()
        • MixedGraph.existsArc()
        • MixedGraph.existsEdge()
        • MixedGraph.existsNode()
        • MixedGraph.hasDirectedPath()
        • MixedGraph.hasMixedOrientedPath()
        • MixedGraph.hasUndirectedCycle()
        • MixedGraph.mixedOrientedPath()
        • MixedGraph.mixedUnorientedPath()
        • MixedGraph.neighbours()
        • MixedGraph.nodes()
        • MixedGraph.nodes2ConnectedComponent()
        • MixedGraph.parents()
        • MixedGraph.partialUndiGraph()
        • MixedGraph.size()
        • MixedGraph.sizeArcs()
        • MixedGraph.sizeEdges()
        • MixedGraph.toDot()
        • MixedGraph.topologicalOrder()
    • Partially Directed Graph (DAG)
      • PDAG
        • PDAG.addArc()
        • PDAG.addEdge()
        • PDAG.addNode()
        • PDAG.addNodeWithId()
        • PDAG.addNodes()
        • PDAG.adjacencyMatrix()
        • PDAG.arcs()
        • PDAG.boundary()
        • PDAG.cSeparation()
        • PDAG.chainComponent()
        • PDAG.children()
        • PDAG.clear()
        • PDAG.completeGraph()
        • PDAG.connectedComponents()
        • PDAG.edges()
        • PDAG.empty()
        • PDAG.emptyArcs()
        • PDAG.emptyEdges()
        • PDAG.eraseArc()
        • PDAG.eraseChildren()
        • PDAG.eraseEdge()
        • PDAG.eraseNeighbours()
        • PDAG.eraseNode()
        • PDAG.eraseParents()
        • PDAG.existsArc()
        • PDAG.existsEdge()
        • PDAG.existsNode()
        • PDAG.hasDirectedPath()
        • PDAG.hasMixedOrientedPath()
        • PDAG.hasMixedReallyOrientedPath()
        • PDAG.hasUndirectedCycle()
        • PDAG.mixedOrientedPath()
        • PDAG.mixedUnorientedPath()
        • PDAG.moralGraph()
        • PDAG.moralizedAncestralGraph()
        • PDAG.neighbours()
        • PDAG.nodes()
        • PDAG.nodes2ConnectedComponent()
        • PDAG.parents()
        • PDAG.partialUndiGraph()
        • PDAG.size()
        • PDAG.sizeArcs()
        • PDAG.sizeEdges()
        • PDAG.toDot()
        • PDAG.topologicalOrder()
  • Random Variables
    • Common API for Random Discrete Variables
      • DiscreteVariable
        • DiscreteVariable.asDiscretizedVar()
        • DiscreteVariable.asIntegerVar()
        • DiscreteVariable.asLabelizedVar()
        • DiscreteVariable.asNumericalDiscreteVar()
        • DiscreteVariable.asRangeVar()
        • DiscreteVariable.belongs()
        • DiscreteVariable.closestIndex()
        • DiscreteVariable.closestLabel()
        • DiscreteVariable.description()
        • DiscreteVariable.domain()
        • DiscreteVariable.domainSize()
        • DiscreteVariable.draw()
        • DiscreteVariable.empty()
        • DiscreteVariable.index()
        • DiscreteVariable.integerDomain()
        • DiscreteVariable.isEmpirical()
        • DiscreteVariable.isLabel()
        • DiscreteVariable.isTick()
        • DiscreteVariable.isValue()
        • DiscreteVariable.label()
        • DiscreteVariable.labels()
        • DiscreteVariable.maxVal()
        • DiscreteVariable.minVal()
        • DiscreteVariable.name()
        • DiscreteVariable.numerical()
        • DiscreteVariable.numericalDomain()
        • DiscreteVariable.posLabel()
        • DiscreteVariable.setDescription()
        • DiscreteVariable.setName()
        • DiscreteVariable.stype()
        • DiscreteVariable.tick()
        • DiscreteVariable.ticks()
        • DiscreteVariable.toFast()
        • DiscreteVariable.toStringWithDescription()
        • DiscreteVariable.varType()
    • Concrete classes for Random Discrete Variables
      • LabelizedVariable
        • LabelizedVariable
      • DiscretizedVariable
        • DiscretizedVariable
      • IntegerVariable
        • IntegerVariable
      • RangeVariable
        • RangeVariable
      • NumericalDiscreteVariable
        • NumericalDiscreteVariable
  • Tensor and Instantiation
    • Instantiation
      • Instantiation
        • Instantiation.add()
        • Instantiation.addVarsFromModel()
        • Instantiation.chgVal()
        • Instantiation.clear()
        • Instantiation.contains()
        • Instantiation.dec()
        • Instantiation.decIn()
        • Instantiation.decNotVar()
        • Instantiation.decOut()
        • Instantiation.decVar()
        • Instantiation.domainSize()
        • Instantiation.empty()
        • Instantiation.end()
        • Instantiation.erase()
        • Instantiation.fromdict()
        • Instantiation.hamming()
        • Instantiation.inOverflow()
        • Instantiation.inc()
        • Instantiation.incIn()
        • Instantiation.incNotVar()
        • Instantiation.incOut()
        • Instantiation.incVar()
        • Instantiation.isMutable()
        • Instantiation.loopIn()
        • Instantiation.nbrDim()
        • Instantiation.pos()
        • Instantiation.rend()
        • Instantiation.reorder()
        • Instantiation.setFirst()
        • Instantiation.setFirstIn()
        • Instantiation.setFirstNotVar()
        • Instantiation.setFirstOut()
        • Instantiation.setFirstVar()
        • Instantiation.setLast()
        • Instantiation.setLastIn()
        • Instantiation.setLastNotVar()
        • Instantiation.setLastOut()
        • Instantiation.setLastVar()
        • Instantiation.setMutable()
        • Instantiation.setVals()
        • Instantiation.todict()
        • Instantiation.unsetEnd()
        • Instantiation.unsetOverflow()
        • Instantiation.val()
        • Instantiation.variable()
        • Instantiation.variablesSequence()
    • Tensor
      • Tensor
        • Tensor.KL()
        • Tensor.abs()
        • Tensor.add()
        • Tensor.argmax()
        • Tensor.argmin()
        • Tensor.contains()
        • Tensor.deterministicTensor()
        • Tensor.domainSize()
        • Tensor.draw()
        • Tensor.empty()
        • Tensor.entropy()
        • Tensor.evEq()
        • Tensor.evGt()
        • Tensor.evIn()
        • Tensor.evLt()
        • Tensor.expectedValue()
        • Tensor.extract()
        • Tensor.fillFromDistribution()
        • Tensor.fillFromExpression()
        • Tensor.fillFromFunction()
        • Tensor.fillWith()
        • Tensor.findAll()
        • Tensor.get()
        • Tensor.inverse()
        • Tensor.isEvidence()
        • Tensor.isNonZeroMap()
        • Tensor.log2()
        • Tensor.loopIn()
        • Tensor.max()
        • Tensor.maxIn()
        • Tensor.maxNonOne()
        • Tensor.maxOut()
        • Tensor.memoryFootprint()
        • Tensor.min()
        • Tensor.minIn()
        • Tensor.minNonZero()
        • Tensor.minOut()
        • Tensor.names
        • Tensor.nbrDim()
        • Tensor.new_abs()
        • Tensor.new_log2()
        • Tensor.new_sgn()
        • Tensor.new_sq()
        • Tensor.noising()
        • Tensor.normalize()
        • Tensor.normalizeAsCPT()
        • Tensor.pos()
        • Tensor.prodIn()
        • Tensor.prodOut()
        • Tensor.product()
        • Tensor.putFirst()
        • Tensor.random()
        • Tensor.randomCPT()
        • Tensor.randomDistribution()
        • Tensor.remove()
        • Tensor.reorganize()
        • Tensor.scale()
        • Tensor.set()
        • Tensor.sgn()
        • Tensor.shape
        • Tensor.sq()
        • Tensor.sum()
        • Tensor.sumIn()
        • Tensor.sumOut()
        • Tensor.thisown
        • Tensor.toVarsIn()
        • Tensor.toarray()
        • Tensor.toclipboard()
        • Tensor.tolatex()
        • Tensor.tolist()
        • Tensor.topandas()
        • Tensor.translate()
        • Tensor.uniformTensor()
        • Tensor.variable()
        • Tensor.variablesSequence()

2- Bayesian networks

  • Model for Bayesian Network
    • BayesNet
      • BayesNet.add()
      • BayesNet.addAMPLITUDE()
      • BayesNet.addAND()
      • BayesNet.addArc()
      • BayesNet.addArcs()
      • BayesNet.addCOUNT()
      • BayesNet.addEXISTS()
      • BayesNet.addFORALL()
      • BayesNet.addLogit()
      • BayesNet.addMAX()
      • BayesNet.addMEDIAN()
      • BayesNet.addMIN()
      • BayesNet.addNoisyAND()
      • BayesNet.addNoisyOR()
      • BayesNet.addNoisyORCompound()
      • BayesNet.addNoisyORNet()
      • BayesNet.addOR()
      • BayesNet.addSUM()
      • BayesNet.addStructureListener()
      • BayesNet.addVariables()
      • BayesNet.addWeightedArc()
      • BayesNet.adjacencyMatrix()
      • BayesNet.ancestors()
      • BayesNet.arcs()
      • BayesNet.beginTopologyTransformation()
      • BayesNet.changeTensor()
      • BayesNet.changeVariableLabel()
      • BayesNet.changeVariableName()
      • BayesNet.check()
      • BayesNet.children()
      • BayesNet.clear()
      • BayesNet.completeInstantiation()
      • BayesNet.connectedComponents()
      • BayesNet.contextualize()
      • BayesNet.cpt()
      • BayesNet.dag()
      • BayesNet.descendants()
      • BayesNet.dim()
      • BayesNet.empty()
      • BayesNet.endTopologyTransformation()
      • BayesNet.erase()
      • BayesNet.eraseArc()
      • BayesNet.evEq()
      • BayesNet.evGt()
      • BayesNet.evIn()
      • BayesNet.evLt()
      • BayesNet.exists()
      • BayesNet.existsArc()
      • BayesNet.family()
      • BayesNet.fastPrototype()
      • BayesNet.generateCPT()
      • BayesNet.generateCPTs()
      • BayesNet.hasSameStructure()
      • BayesNet.idFromName()
      • BayesNet.ids()
      • BayesNet.isIndependent()
      • BayesNet.jointProbability()
      • BayesNet.loadBIF()
      • BayesNet.loadBIFXML()
      • BayesNet.loadDSL()
      • BayesNet.loadNET()
      • BayesNet.loadO3PRM()
      • BayesNet.loadUAI()
      • BayesNet.loadXDSL()
      • BayesNet.log10DomainSize()
      • BayesNet.log2JointProbability()
      • BayesNet.maxNonOneParam()
      • BayesNet.maxParam()
      • BayesNet.maxVarDomainSize()
      • BayesNet.memoryFootprint()
      • BayesNet.minNonZeroParam()
      • BayesNet.minParam()
      • BayesNet.minimalCondSet()
      • BayesNet.moralGraph()
      • BayesNet.moralizedAncestralGraph()
      • BayesNet.names()
      • BayesNet.nodeId()
      • BayesNet.nodes()
      • BayesNet.nodeset()
      • BayesNet.parents()
      • BayesNet.properties()
      • BayesNet.property()
      • BayesNet.propertyWithDefault()
      • BayesNet.reverseArc()
      • BayesNet.saveBIF()
      • BayesNet.saveBIFXML()
      • BayesNet.saveDSL()
      • BayesNet.saveNET()
      • BayesNet.saveO3PRM()
      • BayesNet.saveUAI()
      • BayesNet.saveXDSL()
      • BayesNet.setProperty()
      • BayesNet.size()
      • BayesNet.sizeArcs()
      • BayesNet.toDot()
      • BayesNet.toFast()
      • BayesNet.topologicalOrder()
      • BayesNet.variable()
      • BayesNet.variableFromName()
      • BayesNet.variableNodeMap()
      • BayesNet.variables()
  • Input/Output Formats for Bayesian Networks
    • Supported Formats
      • BIFXML (Recommended for complete preservation)
      • Pickle (Alternative for complete preservation)
    • Other Supported Formats
  • Inference
    • Exact Inference
      • Lazy Propagation
        • LazyPropagation
      • Shafer-Shenoy Inference
        • ShaferShenoyInference
      • Variable Elimination
        • VariableElimination
    • Approximated Inference
      • Loopy Belief Propagation
        • LoopyBeliefPropagation
      • Sampling
        • Gibbs Sampling for BN
        • Simple Monte Carlo Sampling for BN
        • Weighted Sampling for BN
        • Importance Sampling for BN
      • Loopy sampling
        • Pure Loopy Gibbs Sampling
        • Loopy Monte Carlo Sampling
        • Loopy Weighted Sampling
        • Loopy Importance Sampling
  • Learning
    • Class BNLearner
      • BNLearner
        • BNLearner.EMEpsilon()
        • BNLearner.EMHistory()
        • BNLearner.EMMaxIter()
        • BNLearner.EMMaxTime()
        • BNLearner.EMMinEpsilonRate()
        • BNLearner.EMPeriodSize()
        • BNLearner.EMStateApproximationScheme()
        • BNLearner.EMStateMessage()
        • BNLearner.EMVerbosity()
        • BNLearner.EMdisableEpsilon()
        • BNLearner.EMdisableMaxIter()
        • BNLearner.EMdisableMaxTime()
        • BNLearner.EMdisableMinEpsilonRate()
        • BNLearner.EMenableEpsilon()
        • BNLearner.EMenableMaxIter()
        • BNLearner.EMenableMaxTime()
        • BNLearner.EMenableMinEpsilonRate()
        • BNLearner.EMisEnabledEpsilon()
        • BNLearner.EMisEnabledMaxIter()
        • BNLearner.EMisEnabledMaxTime()
        • BNLearner.EMisEnabledMinEpsilonRate()
        • BNLearner.EMnbrIterations()
        • BNLearner.EMsetEpsilon()
        • BNLearner.EMsetMaxIter()
        • BNLearner.EMsetMaxTime()
        • BNLearner.EMsetMinEpsilonRate()
        • BNLearner.EMsetPeriodSize()
        • BNLearner.EMsetVerbosity()
        • BNLearner.G2()
        • BNLearner.addForbiddenArc()
        • BNLearner.addMandatoryArc()
        • BNLearner.addNoChildrenNode()
        • BNLearner.addNoParentNode()
        • BNLearner.addPossibleEdge()
        • BNLearner.chi2()
        • BNLearner.copyState()
        • BNLearner.correctedMutualInformation()
        • BNLearner.currentTime()
        • BNLearner.databaseWeight()
        • BNLearner.domainSize()
        • BNLearner.epsilon()
        • BNLearner.eraseForbiddenArc()
        • BNLearner.eraseMandatoryArc()
        • BNLearner.eraseNoChildrenNode()
        • BNLearner.eraseNoParentNode()
        • BNLearner.erasePossibleEdge()
        • BNLearner.fitParameters()
        • BNLearner.forbidEM()
        • BNLearner.getNumberOfThreads()
        • BNLearner.hasMissingValues()
        • BNLearner.history()
        • BNLearner.idFromName()
        • BNLearner.isConstraintBased()
        • BNLearner.isGumNumberOfThreadsOverriden()
        • BNLearner.isScoreBased()
        • BNLearner.isUsingEM()
        • BNLearner.latentVariables()
        • BNLearner.learnBN()
        • BNLearner.learnDAG()
        • BNLearner.learnEssentialGraph()
        • BNLearner.learnPDAG()
        • BNLearner.learnParameters()
        • BNLearner.logLikelihood()
        • BNLearner.maxIter()
        • BNLearner.maxTime()
        • BNLearner.messageApproximationScheme()
        • BNLearner.minEpsilonRate()
        • BNLearner.mutualInformation()
        • BNLearner.nameFromId()
        • BNLearner.names()
        • BNLearner.nbCols()
        • BNLearner.nbRows()
        • BNLearner.nbrIterations()
        • BNLearner.periodSize()
        • BNLearner.pseudoCount()
        • BNLearner.rawPseudoCount()
        • BNLearner.recordWeight()
        • BNLearner.score()
        • BNLearner.setDatabaseWeight()
        • BNLearner.setEpsilon()
        • BNLearner.setInitialDAG()
        • BNLearner.setMaxIndegree()
        • BNLearner.setMaxIter()
        • BNLearner.setMaxTime()
        • BNLearner.setMinEpsilonRate()
        • BNLearner.setNumberOfThreads()
        • BNLearner.setPeriodSize()
        • BNLearner.setPossibleEdges()
        • BNLearner.setPossibleSkeleton()
        • BNLearner.setRecordWeight()
        • BNLearner.setSliceOrder()
        • BNLearner.setVerbosity()
        • BNLearner.state()
        • BNLearner.useBDeuPrior()
        • BNLearner.useDirichletPrior()
        • BNLearner.useEM()
        • BNLearner.useEMWithDiffCriterion()
        • BNLearner.useEMWithRateCriterion()
        • BNLearner.useGreedyHillClimbing()
        • BNLearner.useK2()
        • BNLearner.useLocalSearchWithTabuList()
        • BNLearner.useMDLCorrection()
        • BNLearner.useMIIC()
        • BNLearner.useNMLCorrection()
        • BNLearner.useNoCorrection()
        • BNLearner.useNoPrior()
        • BNLearner.useScoreAIC()
        • BNLearner.useScoreBD()
        • BNLearner.useScoreBDeu()
        • BNLearner.useScoreBIC()
        • BNLearner.useScoreK2()
        • BNLearner.useScoreLog2Likelihood()
        • BNLearner.useSmoothingPrior()
        • BNLearner.verbosity()
  • Classifier with Bayesian Networks
    • Classifier using Bayesian networks
      • BNClassifier
        • BNClassifier.XYfromCSV()
        • BNClassifier.fit()
        • BNClassifier.fromTrainedModel()
        • BNClassifier.get_metadata_routing()
        • BNClassifier.get_params()
        • BNClassifier.predict()
        • BNClassifier.predict_proba()
        • BNClassifier.preparedData()
        • BNClassifier.score()
        • BNClassifier.set_fit_request()
        • BNClassifier.set_params()
        • BNClassifier.set_predict_request()
        • BNClassifier.set_score_request()
        • BNClassifier.showROC_PR()
  • Tools for Bayesian networks
    • Random generation of Bayesian network
      • randomBN()
      • BNGenerator
        • BNGenerator.generate()
    • Generation of database
      • BNDatabaseGenerator
        • BNDatabaseGenerator.bn()
        • BNDatabaseGenerator.drawSamples()
        • BNDatabaseGenerator.log2likelihood()
        • BNDatabaseGenerator.samplesAt()
        • BNDatabaseGenerator.samplesLabelAt()
        • BNDatabaseGenerator.samplesNbCols()
        • BNDatabaseGenerator.samplesNbRows()
        • BNDatabaseGenerator.setAntiTopologicalVarOrder()
        • BNDatabaseGenerator.setDiscretizedLabelModeInterval()
        • BNDatabaseGenerator.setDiscretizedLabelModeMedian()
        • BNDatabaseGenerator.setDiscretizedLabelModeRandom()
        • BNDatabaseGenerator.setRandomVarOrder()
        • BNDatabaseGenerator.setTopologicalVarOrder()
        • BNDatabaseGenerator.setVarOrder()
        • BNDatabaseGenerator.setVarOrderFromCSV()
        • BNDatabaseGenerator.toCSV()
        • BNDatabaseGenerator.to_pandas()
        • BNDatabaseGenerator.varOrder()
        • BNDatabaseGenerator.varOrderNames()
    • Information Theory of Bayesian network
      • InformationTheory
        • InformationTheory.entropyX()
        • InformationTheory.entropyXY()
        • InformationTheory.entropyXYgivenZ()
        • InformationTheory.entropyXgivenY()
        • InformationTheory.entropyY()
        • InformationTheory.entropyYgivenX()
        • InformationTheory.mutualInformationXY()
        • InformationTheory.mutualInformationXYgivenZ()
        • InformationTheory.variationOfInformationXY()
    • Meek Rules Algorithm
      • MeekRules
        • MeekRules.choices()
        • MeekRules.propagate()
        • MeekRules.propagateToCPDAG()
        • MeekRules.propagateToDAG()
    • Comparison of Bayesian networks
      • ExactBNdistance
        • ExactBNdistance.compute()
      • GibbsBNdistance
        • GibbsBNdistance.burnIn()
        • GibbsBNdistance.compute()
        • GibbsBNdistance.continueApproximationScheme()
        • GibbsBNdistance.currentTime()
        • GibbsBNdistance.disableEpsilon()
        • GibbsBNdistance.disableMaxIter()
        • GibbsBNdistance.disableMaxTime()
        • GibbsBNdistance.disableMinEpsilonRate()
        • GibbsBNdistance.enableEpsilon()
        • GibbsBNdistance.enableMaxIter()
        • GibbsBNdistance.enableMaxTime()
        • GibbsBNdistance.enableMinEpsilonRate()
        • GibbsBNdistance.epsilon()
        • GibbsBNdistance.history()
        • GibbsBNdistance.initApproximationScheme()
        • GibbsBNdistance.isDrawnAtRandom()
        • GibbsBNdistance.isEnabledEpsilon()
        • GibbsBNdistance.isEnabledMaxIter()
        • GibbsBNdistance.isEnabledMaxTime()
        • GibbsBNdistance.isEnabledMinEpsilonRate()
        • GibbsBNdistance.maxIter()
        • GibbsBNdistance.maxTime()
        • GibbsBNdistance.messageApproximationScheme()
        • GibbsBNdistance.minEpsilonRate()
        • GibbsBNdistance.nbrDrawnVar()
        • GibbsBNdistance.nbrIterations()
        • GibbsBNdistance.periodSize()
        • GibbsBNdistance.remainingBurnIn()
        • GibbsBNdistance.setBurnIn()
        • GibbsBNdistance.setDrawnAtRandom()
        • GibbsBNdistance.setEpsilon()
        • GibbsBNdistance.setMaxIter()
        • GibbsBNdistance.setMaxTime()
        • GibbsBNdistance.setMinEpsilonRate()
        • GibbsBNdistance.setNbrDrawnVar()
        • GibbsBNdistance.setPeriodSize()
        • GibbsBNdistance.setVerbosity()
        • GibbsBNdistance.startOfPeriod()
        • GibbsBNdistance.stateApproximationScheme()
        • GibbsBNdistance.stopApproximationScheme()
        • GibbsBNdistance.updateApproximationScheme()
        • GibbsBNdistance.verbosity()
    • Explanation and analysis
      • JunctionTreeGenerator
        • JunctionTreeGenerator.binaryJoinTree()
        • JunctionTreeGenerator.eliminationOrder()
        • JunctionTreeGenerator.junctionTree()
      • EssentialGraph
        • EssentialGraph.adjacencyMatrix()
        • EssentialGraph.arcs()
        • EssentialGraph.children()
        • EssentialGraph.connectedComponents()
        • EssentialGraph.edges()
        • EssentialGraph.idFromName()
        • EssentialGraph.nameFromId()
        • EssentialGraph.neighbours()
        • EssentialGraph.nodes()
        • EssentialGraph.parents()
        • EssentialGraph.pdag()
        • EssentialGraph.size()
        • EssentialGraph.sizeArcs()
        • EssentialGraph.sizeEdges()
        • EssentialGraph.sizeNodes()
        • EssentialGraph.skeleton()
        • EssentialGraph.toDot()
      • MarkovBlanket
        • MarkovBlanket.adjacencyMatrix()
        • MarkovBlanket.arcs()
        • MarkovBlanket.children()
        • MarkovBlanket.connectedComponents()
        • MarkovBlanket.dag()
        • MarkovBlanket.hasSameStructure()
        • MarkovBlanket.nodes()
        • MarkovBlanket.parents()
        • MarkovBlanket.size()
        • MarkovBlanket.sizeArcs()
        • MarkovBlanket.sizeNodes()
        • MarkovBlanket.toDot()
    • Fragment of Bayesian networks
      • BayesNetFragment
        • BayesNetFragment.addArcs()
        • BayesNetFragment.addStructureListener()
        • BayesNetFragment.addVariables()
        • BayesNetFragment.adjacencyMatrix()
        • BayesNetFragment.ancestors()
        • BayesNetFragment.arcs()
        • BayesNetFragment.check()
        • BayesNetFragment.checkConsistency()
        • BayesNetFragment.children()
        • BayesNetFragment.completeInstantiation()
        • BayesNetFragment.connectedComponents()
        • BayesNetFragment.cpt()
        • BayesNetFragment.dag()
        • BayesNetFragment.descendants()
        • BayesNetFragment.dim()
        • BayesNetFragment.empty()
        • BayesNetFragment.evEq()
        • BayesNetFragment.evGt()
        • BayesNetFragment.evIn()
        • BayesNetFragment.evLt()
        • BayesNetFragment.exists()
        • BayesNetFragment.existsArc()
        • BayesNetFragment.family()
        • BayesNetFragment.hasSameStructure()
        • BayesNetFragment.idFromName()
        • BayesNetFragment.ids()
        • BayesNetFragment.installAscendants()
        • BayesNetFragment.installCPT()
        • BayesNetFragment.installMarginal()
        • BayesNetFragment.installNode()
        • BayesNetFragment.isIndependent()
        • BayesNetFragment.isInstalledNode()
        • BayesNetFragment.jointProbability()
        • BayesNetFragment.log10DomainSize()
        • BayesNetFragment.log2JointProbability()
        • BayesNetFragment.maxNonOneParam()
        • BayesNetFragment.maxParam()
        • BayesNetFragment.maxVarDomainSize()
        • BayesNetFragment.memoryFootprint()
        • BayesNetFragment.minNonZeroParam()
        • BayesNetFragment.minParam()
        • BayesNetFragment.minimalCondSet()
        • BayesNetFragment.moralGraph()
        • BayesNetFragment.moralizedAncestralGraph()
        • BayesNetFragment.names()
        • BayesNetFragment.nodeId()
        • BayesNetFragment.nodes()
        • BayesNetFragment.nodeset()
        • BayesNetFragment.parents()
        • BayesNetFragment.properties()
        • BayesNetFragment.property()
        • BayesNetFragment.propertyWithDefault()
        • BayesNetFragment.setProperty()
        • BayesNetFragment.size()
        • BayesNetFragment.sizeArcs()
        • BayesNetFragment.toBN()
        • BayesNetFragment.toDot()
        • BayesNetFragment.topologicalOrder()
        • BayesNetFragment.uninstallCPT()
        • BayesNetFragment.uninstallNode()
        • BayesNetFragment.variable()
        • BayesNetFragment.variableFromName()
        • BayesNetFragment.variableNodeMap()
        • BayesNetFragment.variables()
        • BayesNetFragment.whenArcAdded()
        • BayesNetFragment.whenArcDeleted()
        • BayesNetFragment.whenNodeAdded()
        • BayesNetFragment.whenNodeDeleted()

3- Causality

  • Probabilistic causality
    • Causal models and do-calculus
      • Causal Model
        • CausalModel
      • Causal Inference (a.k.a. do-calculus)
        • causalImpact()
        • doCalculusWithObservation()
        • identifyingIntervention()
      • Other functions for causal inference
        • CausalFormula
        • backdoor_generator()
        • frontdoor_generator()
    • Causel Effect estimation
      • Causal Effect Estimation
        • CausalEffectEstimation
  • Tools for causality
    • Notebook’s tools for causality
      • getCausalImpact()
      • getCausalModel()
      • showCausalImpact()
      • showCausalModel()
    • Exceptions
      • HedgeException
        • HedgeException.add_note()
        • HedgeException.args
      • UnidentifiableException
        • UnidentifiableException.add_note()
        • UnidentifiableException.args
    • Abstract Syntax Tree for Do-Calculus
      • Internal node structure
        • ASTtree
        • ASTBinaryOp
      • Basic Binary Operations
        • ASTplus
        • ASTminus
        • ASTdiv
        • ASTmult
      • Complex operations
        • ASTsum
        • ASTjointProba
        • ASTposteriorProba
  • Causal Model
    • CausalModel
      • CausalModel.addCausalArc()
      • CausalModel.addLatentVariable()
      • CausalModel.arcs()
      • CausalModel.backDoor()
      • CausalModel.causalBN()
      • CausalModel.children()
      • CausalModel.connectedComponents()
      • CausalModel.eraseCausalArc()
      • CausalModel.existsArc()
      • CausalModel.frontDoor()
      • CausalModel.idFromName()
      • CausalModel.latentVariablesIds()
      • CausalModel.names()
      • CausalModel.nodes()
      • CausalModel.observationalBN()
      • CausalModel.parents()
      • CausalModel.toDot()
  • Causal Inference (a.k.a. do-calculus)
    • causalImpact()
    • doCalculusWithObservation()
    • identifyingIntervention()
  • Other functions for causal inference
    • CausalFormula
      • CausalFormula.cm
      • CausalFormula.copy()
      • CausalFormula.eval()
      • CausalFormula.latexQuery()
      • CausalFormula.root
      • CausalFormula.toLatex()
    • backdoor_generator()
    • frontdoor_generator()
  • Causal Effect Estimation
    • CausalEffectEstimation
      • CausalEffectEstimation.estimateCausalEffect()
      • CausalEffectEstimation.fitCausalBNEstimator()
      • CausalEffectEstimation.fitCustomEstimator()
      • CausalEffectEstimation.fitDM()
      • CausalEffectEstimation.fitGeneralizedPlugIn()
      • CausalEffectEstimation.fitIPW()
      • CausalEffectEstimation.fitNormalizedWaldIPW()
      • CausalEffectEstimation.fitPStratification()
      • CausalEffectEstimation.fitSLearner()
      • CausalEffectEstimation.fitSimplePlugIn()
      • CausalEffectEstimation.fitTLearner()
      • CausalEffectEstimation.fitTSLS()
      • CausalEffectEstimation.fitWald()
      • CausalEffectEstimation.fitWaldIPW()
      • CausalEffectEstimation.fitXLearner()
      • CausalEffectEstimation.identifyAdjustmentSet()
      • CausalEffectEstimation.useBackdoorAdjustment()
      • CausalEffectEstimation.useFrontdoorAdjustment()
      • CausalEffectEstimation.useIVAdjustment()
      • CausalEffectEstimation.useRCTAdjustment()
      • CausalEffectEstimation.useUnknownAdjustment()

4- Other graphical models

  • Influence Diagram and LIMIDS
    • Model for Decision in PGM
      • InfluenceDiagram
        • InfluenceDiagram.add()
        • InfluenceDiagram.addArc()
        • InfluenceDiagram.addArcs()
        • InfluenceDiagram.addChanceNode()
        • InfluenceDiagram.addDecisionNode()
        • InfluenceDiagram.addStructureListener()
        • InfluenceDiagram.addUtilityNode()
        • InfluenceDiagram.addVariables()
        • InfluenceDiagram.adjacencyMatrix()
        • InfluenceDiagram.ancestors()
        • InfluenceDiagram.arcs()
        • InfluenceDiagram.beginTopologyTransformation()
        • InfluenceDiagram.chanceNodeSize()
        • InfluenceDiagram.changeVariableName()
        • InfluenceDiagram.children()
        • InfluenceDiagram.clear()
        • InfluenceDiagram.completeInstantiation()
        • InfluenceDiagram.connectedComponents()
        • InfluenceDiagram.cpt()
        • InfluenceDiagram.dag()
        • InfluenceDiagram.decisionNodeSize()
        • InfluenceDiagram.decisionOrder()
        • InfluenceDiagram.decisionOrderExists()
        • InfluenceDiagram.descendants()
        • InfluenceDiagram.empty()
        • InfluenceDiagram.endTopologyTransformation()
        • InfluenceDiagram.erase()
        • InfluenceDiagram.eraseArc()
        • InfluenceDiagram.exists()
        • InfluenceDiagram.existsArc()
        • InfluenceDiagram.existsPathBetween()
        • InfluenceDiagram.family()
        • InfluenceDiagram.fastPrototype()
        • InfluenceDiagram.getDecisionGraph()
        • InfluenceDiagram.hasSameStructure()
        • InfluenceDiagram.idFromName()
        • InfluenceDiagram.ids()
        • InfluenceDiagram.isChanceNode()
        • InfluenceDiagram.isDecisionNode()
        • InfluenceDiagram.isIndependent()
        • InfluenceDiagram.isUtilityNode()
        • InfluenceDiagram.loadBIFXML()
        • InfluenceDiagram.log10DomainSize()
        • InfluenceDiagram.minimalCondSet()
        • InfluenceDiagram.moralGraph()
        • InfluenceDiagram.moralizedAncestralGraph()
        • InfluenceDiagram.names()
        • InfluenceDiagram.nodeId()
        • InfluenceDiagram.nodes()
        • InfluenceDiagram.nodeset()
        • InfluenceDiagram.parents()
        • InfluenceDiagram.properties()
        • InfluenceDiagram.saveBIFXML()
        • InfluenceDiagram.size()
        • InfluenceDiagram.sizeArcs()
        • InfluenceDiagram.thisown
        • InfluenceDiagram.toDot()
        • InfluenceDiagram.toFast()
        • InfluenceDiagram.topologicalOrder()
        • InfluenceDiagram.utility()
        • InfluenceDiagram.utilityNodeSize()
        • InfluenceDiagram.variable()
        • InfluenceDiagram.variableFromName()
        • InfluenceDiagram.variableNodeMap()
        • InfluenceDiagram.variables()
    • Inference for Influence Diagram
      • ShaferShenoyLIMIDInference
        • ShaferShenoyLIMIDInference.MEU()
        • ShaferShenoyLIMIDInference.addEvidence()
        • ShaferShenoyLIMIDInference.addNoForgettingAssumption()
        • ShaferShenoyLIMIDInference.chgEvidence()
        • ShaferShenoyLIMIDInference.clear()
        • ShaferShenoyLIMIDInference.eraseAllEvidence()
        • ShaferShenoyLIMIDInference.eraseEvidence()
        • ShaferShenoyLIMIDInference.hardEvidenceNodes()
        • ShaferShenoyLIMIDInference.hasEvidence()
        • ShaferShenoyLIMIDInference.hasHardEvidence()
        • ShaferShenoyLIMIDInference.hasNoForgettingAssumption()
        • ShaferShenoyLIMIDInference.hasSoftEvidence()
        • ShaferShenoyLIMIDInference.influenceDiagram()
        • ShaferShenoyLIMIDInference.isSolvable()
        • ShaferShenoyLIMIDInference.junctionTree()
        • ShaferShenoyLIMIDInference.makeInference()
        • ShaferShenoyLIMIDInference.meanVar()
        • ShaferShenoyLIMIDInference.nbrEvidence()
        • ShaferShenoyLIMIDInference.nbrHardEvidence()
        • ShaferShenoyLIMIDInference.nbrSoftEvidence()
        • ShaferShenoyLIMIDInference.optimalDecision()
        • ShaferShenoyLIMIDInference.posterior()
        • ShaferShenoyLIMIDInference.posteriorUtility()
        • ShaferShenoyLIMIDInference.reducedGraph()
        • ShaferShenoyLIMIDInference.reducedLIMID()
        • ShaferShenoyLIMIDInference.reversePartialOrder()
        • ShaferShenoyLIMIDInference.setEvidence()
        • ShaferShenoyLIMIDInference.softEvidenceNodes()
        • ShaferShenoyLIMIDInference.updateEvidence()
  • Credal Network
    • CN Model
      • CredalNet
        • CredalNet.NodeType_Credal
        • CredalNet.NodeType_Indic
        • CredalNet.NodeType_Precise
        • CredalNet.NodeType_Vacuous
        • CredalNet.addArc()
        • CredalNet.addVariable()
        • CredalNet.approximatedBinarization()
        • CredalNet.bnToCredal()
        • CredalNet.computeBinaryCPTMinMax()
        • CredalNet.credalNet_currentCpt()
        • CredalNet.credalNet_srcCpt()
        • CredalNet.currentNodeType()
        • CredalNet.current_bn()
        • CredalNet.domainSize()
        • CredalNet.epsilonMax()
        • CredalNet.epsilonMean()
        • CredalNet.epsilonMin()
        • CredalNet.fillConstraint()
        • CredalNet.fillConstraints()
        • CredalNet.get_binaryCPT_max()
        • CredalNet.get_binaryCPT_min()
        • CredalNet.hasComputedBinaryCPTMinMax()
        • CredalNet.idmLearning()
        • CredalNet.instantiation()
        • CredalNet.intervalToCredal()
        • CredalNet.intervalToCredalWithFiles()
        • CredalNet.isSeparatelySpecified()
        • CredalNet.lagrangeNormalization()
        • CredalNet.nodeType()
        • CredalNet.saveBNsMinMax()
        • CredalNet.setCPT()
        • CredalNet.setCPTs()
        • CredalNet.src_bn()
    • CN Inference
      • CNMonteCarloSampling
        • CNMonteCarloSampling.CN()
        • CNMonteCarloSampling.addEvidence()
        • CNMonteCarloSampling.currentTime()
        • CNMonteCarloSampling.dynamicExpMax()
        • CNMonteCarloSampling.dynamicExpMin()
        • CNMonteCarloSampling.epsilon()
        • CNMonteCarloSampling.eraseAllEvidence()
        • CNMonteCarloSampling.history()
        • CNMonteCarloSampling.insertEvidenceFile()
        • CNMonteCarloSampling.insertModalsFile()
        • CNMonteCarloSampling.makeInference()
        • CNMonteCarloSampling.marginalMax()
        • CNMonteCarloSampling.marginalMin()
        • CNMonteCarloSampling.maxIter()
        • CNMonteCarloSampling.maxTime()
        • CNMonteCarloSampling.messageApproximationScheme()
        • CNMonteCarloSampling.minEpsilonRate()
        • CNMonteCarloSampling.nbrIterations()
        • CNMonteCarloSampling.periodSize()
        • CNMonteCarloSampling.setEpsilon()
        • CNMonteCarloSampling.setEvidence()
        • CNMonteCarloSampling.setMaxIter()
        • CNMonteCarloSampling.setMaxTime()
        • CNMonteCarloSampling.setMinEpsilonRate()
        • CNMonteCarloSampling.setPeriodSize()
        • CNMonteCarloSampling.setRepetitiveInd()
        • CNMonteCarloSampling.setVerbosity()
        • CNMonteCarloSampling.verbosity()
      • CNLoopyPropagation
        • CNLoopyPropagation.CN()
        • CNLoopyPropagation.InferenceType_nodeToNeighbours
        • CNLoopyPropagation.InferenceType_ordered
        • CNLoopyPropagation.InferenceType_randomOrder
        • CNLoopyPropagation.addEvidence()
        • CNLoopyPropagation.currentTime()
        • CNLoopyPropagation.dynamicExpMax()
        • CNLoopyPropagation.dynamicExpMin()
        • CNLoopyPropagation.epsilon()
        • CNLoopyPropagation.eraseAllEvidence()
        • CNLoopyPropagation.history()
        • CNLoopyPropagation.inferenceType()
        • CNLoopyPropagation.insertEvidenceFile()
        • CNLoopyPropagation.insertModalsFile()
        • CNLoopyPropagation.makeInference()
        • CNLoopyPropagation.marginalMax()
        • CNLoopyPropagation.marginalMin()
        • CNLoopyPropagation.maxIter()
        • CNLoopyPropagation.maxTime()
        • CNLoopyPropagation.messageApproximationScheme()
        • CNLoopyPropagation.minEpsilonRate()
        • CNLoopyPropagation.nbrIterations()
        • CNLoopyPropagation.periodSize()
        • CNLoopyPropagation.saveInference()
        • CNLoopyPropagation.setEpsilon()
        • CNLoopyPropagation.setEvidence()
        • CNLoopyPropagation.setMaxIter()
        • CNLoopyPropagation.setMaxTime()
        • CNLoopyPropagation.setMinEpsilonRate()
        • CNLoopyPropagation.setPeriodSize()
        • CNLoopyPropagation.setRepetitiveInd()
        • CNLoopyPropagation.setVerbosity()
        • CNLoopyPropagation.thisown
        • CNLoopyPropagation.verbosity()
  • Markov random field
    • Undirected Graphical Model
      • MarkovRandomField
        • MarkovRandomField.add()
        • MarkovRandomField.addFactor()
        • MarkovRandomField.addStructureListener()
        • MarkovRandomField.addVariables()
        • MarkovRandomField.adjacencyMatrix()
        • MarkovRandomField.beginTopologyTransformation()
        • MarkovRandomField.changeVariableLabel()
        • MarkovRandomField.changeVariableName()
        • MarkovRandomField.clear()
        • MarkovRandomField.completeInstantiation()
        • MarkovRandomField.connectedComponents()
        • MarkovRandomField.dim()
        • MarkovRandomField.edges()
        • MarkovRandomField.empty()
        • MarkovRandomField.endTopologyTransformation()
        • MarkovRandomField.erase()
        • MarkovRandomField.eraseFactor()
        • MarkovRandomField.exists()
        • MarkovRandomField.existsEdge()
        • MarkovRandomField.factor()
        • MarkovRandomField.factors()
        • MarkovRandomField.family()
        • MarkovRandomField.fastPrototype()
        • MarkovRandomField.fromBN()
        • MarkovRandomField.generateFactor()
        • MarkovRandomField.generateFactors()
        • MarkovRandomField.graph()
        • MarkovRandomField.hasSameStructure()
        • MarkovRandomField.idFromName()
        • MarkovRandomField.ids()
        • MarkovRandomField.isIndependent()
        • MarkovRandomField.loadUAI()
        • MarkovRandomField.log10DomainSize()
        • MarkovRandomField.maxNonOneParam()
        • MarkovRandomField.maxParam()
        • MarkovRandomField.maxVarDomainSize()
        • MarkovRandomField.minNonZeroParam()
        • MarkovRandomField.minParam()
        • MarkovRandomField.minimalCondSet()
        • MarkovRandomField.names()
        • MarkovRandomField.neighbours()
        • MarkovRandomField.nodeId()
        • MarkovRandomField.nodes()
        • MarkovRandomField.nodeset()
        • MarkovRandomField.properties()
        • MarkovRandomField.saveUAI()
        • MarkovRandomField.size()
        • MarkovRandomField.sizeEdges()
        • MarkovRandomField.smallestFactorFromNode()
        • MarkovRandomField.thisown
        • MarkovRandomField.toDot()
        • MarkovRandomField.toDotAsFactorGraph()
        • MarkovRandomField.toFast()
        • MarkovRandomField.variable()
        • MarkovRandomField.variableFromName()
        • MarkovRandomField.variableNodeMap()
        • MarkovRandomField.variables()
    • Inference in Markov random fields
      • Shafer-Shenoy Inference in Markov random field
        • ShaferShenoyMRFInference
  • Probabilistic Relational Models
    • PRMexplorer
      • PRMexplorer.aggType
      • PRMexplorer.classAggregates()
      • PRMexplorer.classAttributes()
      • PRMexplorer.classDag()
      • PRMexplorer.classImplements()
      • PRMexplorer.classParameters()
      • PRMexplorer.classReferences()
      • PRMexplorer.classSlotChains()
      • PRMexplorer.classes()
      • PRMexplorer.cpf()
      • PRMexplorer.getDirectSubClass()
      • PRMexplorer.getDirectSubInterfaces()
      • PRMexplorer.getDirectSubTypes()
      • PRMexplorer.getImplementations()
      • PRMexplorer.getLabelMap()
      • PRMexplorer.getLabels()
      • PRMexplorer.getSuperClass()
      • PRMexplorer.getSuperInterface()
      • PRMexplorer.getSuperType()
      • PRMexplorer.getalltheSystems()
      • PRMexplorer.interAttributes()
      • PRMexplorer.interReferences()
      • PRMexplorer.interfaces()
      • PRMexplorer.isAttribute()
      • PRMexplorer.isClass()
      • PRMexplorer.isInterface()
      • PRMexplorer.isType()
      • PRMexplorer.load()
      • PRMexplorer.types()

5- pyAgrum's (experimentals) models

  • Continuous-Time Bayesian Networks
    • The CTBN model
      • CIM
        • CIM.DELIMITER
        • CIM.add()
        • CIM.amalgamate()
        • CIM.asTensor()
        • CIM.extract()
        • CIM.findVar()
        • CIM.fromMatrix()
        • CIM.getTensor()
        • CIM.instantiation()
        • CIM.isIM()
        • CIM.isParent()
        • CIM.nbrDim()
        • CIM.remove()
        • CIM.toMatrix()
        • CIM.varI()
        • CIM.varJ()
        • CIM.varNames
        • CIM.varRadical()
        • CIM.variable()
        • CIM.variablesSequence()
      • CTBN
        • CTBN._graph
        • CTBN._cim
        • CTBN._id2var
        • CTBN._name2id
        • CTBN.CIM()
        • CTBN.add()
        • CTBN.addArc()
        • CTBN.arcs()
        • CTBN.children()
        • CTBN.childrenNames()
        • CTBN.completeInstantiation()
        • CTBN.equals()
        • CTBN.eraseArc()
        • CTBN.fullInstantiation()
        • CTBN.labels()
        • CTBN.name()
        • CTBN.names()
        • CTBN.node()
        • CTBN.nodes()
        • CTBN.parentNames()
        • CTBN.parents()
        • CTBN.toDot()
        • CTBN.variable()
        • CTBN.variables()
      • Other functions for CTBN model
        • randomCTBN()
    • Inference in CTNB
      • Exact Inference in CTBN
        • SimpleInference
      • Sampling Inference in CTBN
        • ForwardSamplingInference
    • Graphical tools for CTNB
      • plotTrajectory()
      • plotFollowVar()
    • Learning a CTBN
      • Learning parameters : learning the CIMs
      • Learning the graph
        • Learner
        • readTrajectoryCSV()
        • CTBNFromData()
        • computeCIMFromStats()
        • Trajectory
        • Stats
        • FChi2Test
        • IndepTest
        • Oracle
        • sqrtTensor()
      • Bibliography for CTNB
  • Continuous Linear Gaussian Bayesian Networks
    • Gaussian Variables
      • GaussianVariable
        • GaussianVariable.mu()
        • GaussianVariable.name()
        • GaussianVariable.setMu()
        • GaussianVariable.setSigma()
        • GaussianVariable.sigma()
    • The CLG model
      • CLG
        • CLG.CompareStructure()
        • CLG.add()
        • CLG.addArc()
        • CLG.arcs()
        • CLG.children()
        • CLG.children_names()
        • CLG.coefArc()
        • CLG.copy()
        • CLG.dag()
        • CLG.dag2dict()
        • CLG.eraseArc()
        • CLG.existsArc()
        • CLG.idFromName()
        • CLG.logLikelihood()
        • CLG.name()
        • CLG.nameOrId()
        • CLG.names()
        • CLG.nodes()
        • CLG.parent_names()
        • CLG.parents()
        • CLG.setCoef()
        • CLG.setMu()
        • CLG.setSigma()
        • CLG.topologicalOrder()
        • CLG.variable()
        • CLG.variables()
      • SEM
        • SEM.FIND_FLOAT
        • SEM.FIND_STDDEV
        • SEM.FIND_TERM
        • SEM.FIND_VAR
        • SEM.ID
        • SEM.NUMBER
        • SEM.loadCLG()
        • SEM.saveCLG()
        • SEM.toclg()
        • SEM.tosem()
      • Other functions for CLG
        • randomCLG()
    • Inference : Variable Elimination
      • Exact Inference in Continuous Linear Gaussian)
        • CLGVariableElimination
      • Tool for approximated inference in Continuous Linear Gaussian)
        • ForwardSampling
    • Graphical tools for CLG
      • exportCLG()
      • getInference()
      • showInference()
      • exportInference()
      • CLG2dot()
      • CLGInference2dot()
    • Learning a CLG
      • CLGLearner
        • CLGLearner.Adjacency_search()
        • CLGLearner.PC_algorithm()
        • CLGLearner.Pearson_coeff()
        • CLGLearner.RAveL_MB()
        • CLGLearner.RAveL_PC()
        • CLGLearner.Repeat_II()
        • CLGLearner.Step4()
        • CLGLearner.estimate_parameters()
        • CLGLearner.fitParameters()
        • CLGLearner.generate_XYZ()
        • CLGLearner.generate_subsets()
        • CLGLearner.id2samples
        • CLGLearner.learnCLG()
        • CLGLearner.r_XYZ
        • CLGLearner.sepset
        • CLGLearner.supremum_deviation()
        • CLGLearner.test_indep()
        • CLGLearner.three_rules()
  • Bayesian Network Mixture
    • Mixture Model
      • BNMixture
        • BNMixture.BN()
        • BNMixture.BNs()
        • BNMixture.add()
        • BNMixture.existsArc()
        • BNMixture.isNormalized()
        • BNMixture.isValid()
        • BNMixture.loadBIF()
        • BNMixture.names()
        • BNMixture.normalize()
        • BNMixture.remove()
        • BNMixture.saveBIF()
        • BNMixture.setWeight()
        • BNMixture.size()
        • BNMixture.updateRef()
        • BNMixture.variable()
        • BNMixture.weight()
        • BNMixture.weights()
        • BNMixture.zeroBNs()
      • BootstrapMixture
        • BootstrapMixture.BN()
        • BootstrapMixture.BNs()
        • BootstrapMixture.add()
        • BootstrapMixture.existsArc()
        • BootstrapMixture.isNormalized()
        • BootstrapMixture.isValid()
        • BootstrapMixture.loadBIF()
        • BootstrapMixture.names()
        • BootstrapMixture.normalize()
        • BootstrapMixture.remove()
        • BootstrapMixture.saveBIF()
        • BootstrapMixture.setWeight()
        • BootstrapMixture.size()
        • BootstrapMixture.variable()
        • BootstrapMixture.weight()
        • BootstrapMixture.weights()
        • BootstrapMixture.zeroBNs()
    • Inference on mixtures
      • BNMixtureInference
        • BNMixtureInference.makeInference()
        • BNMixtureInference.posterior()
        • BNMixtureInference.setEvidence()
      • BootstrapMixtureInference
        • BootstrapMixtureInference.makeInference()
        • BootstrapMixtureInference.posterior()
        • BootstrapMixtureInference.quantiles()
        • BootstrapMixtureInference.setEvidence()
    • Learning mixtures
      • BNMLearner
        • BNMLearner.add()
        • BNMLearner.learnBNM()
        • BNMLearner.updateState()
      • BNMBootstrapLearner
        • BNMBootstrapLearner.learnBNM()
        • BNMBootstrapLearner.updateState()
        • BNMBootstrapLearner.useBDeuPrior()
        • BNMBootstrapLearner.useDirichletPrior()
        • BNMBootstrapLearner.useGreedyHillClimbing()
        • BNMBootstrapLearner.useIter()
        • BNMBootstrapLearner.useK2()
        • BNMBootstrapLearner.useLocalSearchWithTabuList()
        • BNMBootstrapLearner.useMDLCorrection()
        • BNMBootstrapLearner.useMIIC()
        • BNMBootstrapLearner.useNMLCorrection()
        • BNMBootstrapLearner.useNoCorrection()
        • BNMBootstrapLearner.useNoPrior()
        • BNMBootstrapLearner.useScoreAIC()
        • BNMBootstrapLearner.useScoreBD()
        • BNMBootstrapLearner.useScoreBDeu()
        • BNMBootstrapLearner.useScoreBIC()
        • BNMBootstrapLearner.useScoreK2()
        • BNMBootstrapLearner.useScoreLog2Likelihood()
        • BNMBootstrapLearner.useSmoothingPrior()

6- pyagrum.lib modules

  • Jupyter notebook with Graphical Models
  • DiscreteTypeProcessor for graphical Models
  • Export and visualize Graphical models and Tensors (png, pdf)
  • pyagrum.lib.explain
  • pyagrum.lib.dynamicBN
  • other pyagrum.lib modules

7- pyAgrum's tools

  • Random numbers from aGrUM
  • fast syntax
  • Functions from pyagrum
  • Listeners
  • Exceptions from aGrUM

8- Customizing pyAgrum

  • Configuration for pyAgrum

9- Appendices

  • Bibliography
  • Glossary
pyagrum
  • Tools for Bayesian networks
Previous Next

Tools for Bayesian networks

tools for comparing Bayesian networks

aGrUM/pyAgrum provide a set of classes and functions in order to easely work with Bayesian networks.

  • Random generation of Bayesian network
    • randomBN()
    • BNGenerator
  • Generation of database
    • BNDatabaseGenerator
  • Information Theory of Bayesian network
    • InformationTheory
  • Meek Rules Algorithm
    • MeekRules
  • Comparison of Bayesian networks
    • ExactBNdistance
    • GibbsBNdistance
  • Explanation and analysis
    • JunctionTreeGenerator
    • EssentialGraph
    • MarkovBlanket
  • Fragment of Bayesian networks
    • BayesNetFragment

© Copyright 2018-2024, aGrUM/pyAgrum Team <info_at_agrum_dot_org> (pyAgrum re2.3.2.9). Last updated on Feb 23, 2026.

Built with Sphinx using a theme provided by Read the Docs.