← Back to Projects
Genetic AlgorithmOptimizationPythonColumbia University · 2023

Symbolic Regression via Genetic Algorithm

GA-based symbolic regression to discover closed-form mathematical expressions from data — comparing hill climbers vs. full GA strategies over 10K iterations.

Results Gallery

About This Project

Implemented a Genetic Algorithm (GA) for symbolic regression — the task of discovering mathematical expressions that best fit a given dataset without assuming a predefined functional form. Candidate expressions are represented as expression trees and evolved through selection, crossover, and mutation operators.

The GA was benchmarked against a hill climber baseline across multiple run lengths (1K, 10K, 100K iterations). Key metrics tracked included best-fit expression accuracy, population diversity over generations, and convergence behavior. The full GA consistently outperformed the hill climber, particularly as the number of iterations grew.

Course
Evolutionary Computation — Columbia
Year
2023
Skills
Python, Genetic Algorithms, Expression Trees, Symbolic Math
Outcome
GA outperforms hill climber — robust expression discovery at 10K+ iterations