Many Data Scientists overuse ML and neglect techniques from Mathematical Optimisation, even though it’s (a) great for your career and (b) easy to learn, even for a non-Mathmo (like me)
Do you want my hot take on the state of Data Science in 2024? Here it is:
Data Scientists are too obsessed with machine learning.
To someone with a hammer, every problem looks like a nail; to the modern Data Scientist, every problem apparently looks like a machine learning problem. We’ve become so good at translating problems into the language of analytics and ML that we sometimes forget there are other data-scientific approaches out there. And this is a massive shame.
In this article, I will introduce another branch of Data Science — Mathematical Optimisation (specifically, Constraint Programming)— and show how it can add value to your career as a Data Scientist.
If you’ve not got a strong Maths background, please don’t be put off by the name. I didn’t study Maths at university either (I studied Geography), but I found it surprisingly easy to get started with Mathematical Optimisation techniques thanks to Google’s open-source Python library OR-Tools, which I’ll introduce in this beginner-friendly article.
If you want to expand your Data Science toolkit and learn this high-demand skill, sit down and buckle up!
Optimisation is a suite of techniques for “find[ing] the best solution to a problem out of a very large set of possible solutions” (source: Google Developers).
Sometimes, that means finding the optimal solution to a problem; at other times, it just means finding all the feasible solutions. There are lots of situations where you’ll encounter these types of problems, for example:
Imagine that you’re working in the Data Science team at your local Amazon warehouse. There are 100 packages to deliver, 3 delivery drivers, and all the deliveries must be made within a 2-hour window. This is an example of an optimisation problem, where you need to…