Skip to content

CauseCade/CauseCade

Repository files navigation

CauseCade - Bayesian Networks

This repository will contain my best efforts to both learn about the interesting world of bayesian networks and implement them in an accessible manner. I am currently implementing this using Dart and an adaption of D3 for the graphical representation (using https://github.com/rwl/d3.dart package). These choices are subject to change.

Purpose

In the end, I hope this project will result in a page that can teach others about bayesian networks and allow for some basic use cases (on the go). While there are currently great programs that can be used to locally compute solutions and solve problems using bayesian networks, I feel there is still room for an easy to use, educational tool focussing on them.

Blog

Updates on the CauseCade project can be found on the CauseCade blog. This blog will hold information about large updates done to the project and much more. As of July 2017, the blog is operational, albeit with a few minor issues that will be fixed over the coming months.

todo List for this Project

  • Develop an intuitive UI
    • Allow Saving of Network (to local disc)
    • Allow Network to be opened (from file explorer)
  • Optimise Bayesian Network
    • Move away from doubles
    • Avoid pointless computations
    • Auto-redraw the network for improved performance
  • Allow for Self Learning from datasets (optional)
  • Visualise D-separation
  • Create more example networks
  • Integrate with traditional learning material (slides, written notes, homework)
  • Complete the supplementary chapters (learning mode)
  • Develop Alternative Canvas Views (diagonal linkmatrix representation and histogram)