From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Encog Machine Learning Framework
Developer(s)Jeff Heaton and contributors
Stable release
3.4.0 / September 1, 2017 (2017-09-01)
Written inJava, .Net
Operating systemCross-platform
TypeMachine Learning
LicenseApache 2.0 Licence

Encog is a machine learning framework available for Java and .Net.[1] Encog supports different learning algorithms such as Bayesian Networks, Hidden Markov Models and Support Vector Machines. However, its main strength lies in its neural network algorithms. Encog contains classes to create a wide variety of networks, as well as support classes to normalize and process data for these neural networks. Encog trains using many different techniques. Multithreading is used to allow optimal training performance on multicore machines.

Encog can be used for many tasks, including medical[2] and financial research.[3] A GUI based workbench is also provided to help model and train neural networks. Encog has been in active development since 2008.[4]

Neural Network Architectures[edit]

Training Techniques[edit]

See also[edit]

  • JOONE: another neural network programmed in Java
  • FANN, a neural network written in C with bindings to most other languages.
  • Deeplearning4j: An open-source deep learning library written for Java/C++ w/LSTMs and convolutional networks. Parallelization with Apache Spark and Aeron on CPUs and GPUs.


  1. ^ J. Heaton http://www.jmlr.org/papers/volume16/heaton15a/heaton15a.pdf Encog: Library of Interchangeable Machine Learning Models for Java and C#
  2. ^ D. Heider, J. Verheyen, D. Hoffmann http://www.biomedcentral.com/content/pdf/1471-2105-11-37.pdf Predicting Bevirimat resistance of HIV-1 from genotype
  3. ^ J. Heaton http://www.devx.com/opensource/Article/44014/1954 Basic Market Forecasting with Encog Neural Networks
  4. ^ http://www.heatonresearch.com/encog Description of Encog Project.

External links[edit]