This is a community wiki which 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?
2
Answers
Perhaps one can start by looking at the design of existing open source ML/AI frameworks. To name a few: Weka, RapidMiner, KNIME, Orange, ..
Here is one I made for PHP: http://neuralmesh.com