Encog is a machine learning framework in Java/C# that was developed by Jeff Heaton, a data scientist. It supports normalizing and processing data and a variety of advanced algorithm such as SVM, Neural Networks, Bayesian Networks, Hidden Markov Models, Genetic Programming, and Genetic Algorithms. It has been actively developed since 2008. It supports multi-threading, which boosts performance on multi-core systems.
It can be found at https://www.heatonresearch.com/encog/. MLMethod is the base interface, which includes all of the methods for the models. The following are some of the interfaces and classes that it includes:
- MLRegression: This interface defines regression algorithms
- MLClassification: This interface defines classification algorithms
- MLClustering: This interface defines clustering algorithms
- MLData: This class represents a vector used in a model, either for input or output
- MLDataPair: The functionality of this class is similar to that of MLData, but can be used for both input and output
- MLDataSet: This represents the list of MLDataPair instances for trainers
- FreeformNeuron: This class is used as a neuron
- FreeformConnection: This shows the weighted connection between neurons
- FreeformContextNeuron: This represents a context neuron
- InputSummation: This value specifies how the inputs are summed to form a single neuron
- BasicActiveSummation: This is the simple sum of all input neurons
- BasicFreeConnection: This is the basic weighted connection between neurons
- BasicFreeformLayer: This interface provides a layer