Eureqa is a symbolic regression software based on genetic programming. Here we will talk about an alternative to that software called TuringBot.
Eureqa used to be developed by a company called Nutonian. A few years ago this company was acquired by a consulting company called Data Robot, and Eureqa has been removed from the market after that.
The program gained popularity due to its ease of use. Finding mathematical formulas from data using its graphical interface was very convenient and required no coding.
The alternative: TuringBot
An alternative to Eureqa exists and is called TuringBot. It uses a completely different approach to solve symbolic regression problems, based on a simulated annealing algorithm. It can be downloaded for free from the official website.
Here is what its interface looks like:
It features a variety of search metrics, allowing many different kinds of machine learning models to be solved. Those include the basic RMS and mean error regression metrics, but also classification accuracy, F1 score (for rare event classification) and correlation coefficient.
The code allows overfit solutions to be easily ruled out with its convenient cross validation feature. A test/train split can be enabled through the interface, and the out-of-sample error shown in the solutions box can be used to select the formula with the best trade-off between size and accuracy.
Compared to Eureqa, the symbolic regression implementation of TuringBot seems to yield better results in many cases. Eureqa overly restricts itself to simpler and less recursive formulas, and often results in polynomial fits to the data that diverge and lose usefulness outside the training domain. We also find that TuringBot is noticeably faster than Eureqa.
If the concept of TuringBot sounds interesting to you, you can learn more about it from the official website, and also from the posts on this blog. We suggest the following to get started:
- The official TuringBot documentation
- Using Symbolic Regression to predict rare events
- Using R to visualize a Symbolic Regression model
For an introduction to Symbolic Regression, you can also check out the Wikipedia article on the topic.