This was my final project for my intro algorithms class. I implemented statistical matching, which is a technique from econometrics used for causal inference in observational datasets. It relies on nearest neighbor search. So, I wrote implementations using a KD-Tree and bruteforce search and then compared the pros and cons of each.
The jupyter notebook and the pdf are the same.