Repository for python implementation and experiments for the paper "On Tractable Computation of Expected Predictions, NeurIPS 2019".
For a faster and well tested and documented implementation of the algorithms in this paper checkout the Juice package ProbabilisticCircuits.jl. Also have GPU support there, so could orders of magnitude faster. This repository is only for reproducing the paper results and not maintained anymore.
-
circuit_expect.py
includes the implementation of the algorithm for computing expectation and moments for pair of probabilistic circuits. This implementation usespypsdd
andLogisticCircuit
libraries for learning and representing the circuits. -
The
./pypsdd
folder includes a copy of the pypsdd library with some modifications to make it compatible withPython 3
. -
The
./LogisticCircuit
library includes a copy of the LogisticCircuit library with some additions and modifications to also enable RegressionCircuits. -
The folder
./scripts
include some pyhton scripts to help running the experiments, they range from preprocessing data, learning circuits (psdd, logistic circuit, regression circuit), parallelizing experiments, etc. Additionally,./scripts/cmd_examples
constains some command ling examples of how to use the scripts. -
The folder
./data
includes the datasets used for the experiments. -
The folder
./exp
includes results such as the learned circuits, and raw results from "missing data experiments".