This is a community wiki that aims to provide a good design for a machine learning/artificial intelligence framework (ML/AI framework).
Please contribute to the design of a language-agnostic framework which would allow multiple ML/AI algorithms to be plugged into a single framework which:
runs the algorithms with a user-specified data set.
facilitates learning, qualification, and classification.
allows users to easily plug in new algorithms.
can aggregate or create an ensemble of the existing algorithms.
can save/load the progress of the algorithm (i.e. save the network and weights of a neural network, save the tree of a decision tree, etc.).
What is a good design for this sort of ML/AI framework?