Using Genetic Programming for Data Science: Lessons Learned

In this chapter we present a case study to demonstrate how the current state-of-the-art Genetic Programming (GP) fairs as a tool for the emerging field of Data Science. Data Science refers to the practice of extracting knowledge from data, often Big Data, to glean insights useful for predicting business, political or societal outcomes. Data Science tools are important to the practice as they allow Data Scientists to be productive and accurate. GP has many features that make it amenable as a tool for Data Science, but GP is not widely considered as a Data Science method as of yet. Thus, we performed a real-world comparison of GP with a popular Data Science method to understand its strengths and weaknesses. GP proved to find equally strong solutions, leveraged the new Big Data infrastructure, and was able to provide several benefits like direct feature importance and solution confidence. GP lacked the ability to quickly build and test models, required much more intensive computing power, and, due to its lack of commercial maturity, created some challenges for productization as well as integration with data management and visualization capabilities. The lessons learned leads to several recommendations that provide a path for future research to focus on key areas to improve GP as a Data Science tool.

[1]  Arthur K. Kordon,et al.  Soft sensor development using genetic programming , 2001 .

[2]  J. Friedman Greedy function approximation: A gradient boosting machine. , 2001 .

[3]  Mark Kotanchek,et al.  Scalable Symbolic Regression by Continuous Evolution with Very Small Populations , 2011 .

[4]  Kalyan Veeramachaneni,et al.  Flash: A GP-GPU Ensemble Learning System for Handling Large Datasets , 2014, EuroGP.

[5]  Kalyan Veeramachaneni,et al.  FlexGP , 2014, Journal of Grid Computing.

[6]  Gaël Varoquaux,et al.  The NumPy Array: A Structure for Efficient Numerical Computation , 2011, Computing in Science & Engineering.

[7]  Josh C. Bongard,et al.  Improving genetic programming based symbolic regression using deterministic machine learning , 2013, 2013 IEEE Congress on Evolutionary Computation.

[8]  Eric Jones,et al.  SciPy: Open Source Scientific Tools for Python , 2001 .

[9]  Marc Parizeau,et al.  DEAP: a python framework for evolutionary algorithms , 2012, GECCO '12.

[10]  Vasant Dhar,et al.  Data science and prediction , 2012, CACM.

[11]  Stefan Wagner,et al.  Algorithm and experiment design with heuristiclab: an open source optimization environment for research and education , 2011, GECCO.

[12]  James A. Hendler,et al.  Semantics for Big Data , 2015, AI Mag..

[13]  Leonardo Vanneschi,et al.  Open issues in genetic programming , 2010, Genetic Programming and Evolvable Machines.

[14]  Renáta Dubcáková,et al.  Eureqa: software review , 2011, Genetic Programming and Evolvable Machines.

[15]  Hod Lipson,et al.  Distilling Free-Form Natural Laws from Experimental Data , 2009, Science.

[16]  Una-May O'Reilly,et al.  A Library to Run Evolutionary Algorithms in the Cloud Using MapReduce , 2012, EvoApplications.

[17]  Gaël Varoquaux,et al.  Scikit-learn: Machine Learning in Python , 2011, J. Mach. Learn. Res..

[18]  Christopher W. Geib,et al.  Architectures for Activity Recognition and Context-Aware Computing , 2015, AI Mag..

[19]  Arthur K. Kordon,et al.  Using Genetic Programming in Industrial Statistical Model Building , 2005 .