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.pyincludes the implementation of the algorithm for computing expectation and moments for pair of probabilistic circuits. This implementation usespypsddandLogisticCircuitlibraries for learning and representing the circuits. -
The
./pypsddfolder includes a copy of the pypsdd library with some modifications to make it compatible withPython 3. -
The
./LogisticCircuitlibrary includes a copy of the LogisticCircuit library with some additions and modifications to also enable RegressionCircuits. -
The folder
./scriptsinclude 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_examplesconstains some command ling examples of how to use the scripts. -
The folder
./dataincludes the datasets used for the experiments. -
The folder
./expincludes results such as the learned circuits, and raw results from "missing data experiments".