all articles

KISS Models

“Keep it Simple, Stupid!” The KISS principle is another delightful insight from the US military. It means systems work best when they are simple. The Agile Manifesto phrases it in a slightly more neutral tone: “Simplicity – the art of maximising the amount of work not done – is essential.” but the message is the same. You may be aware that there are a lot of overly complicated systems out there.

Read more…

You Need Continuous Deployment!

The Spitfire was the most awesome dog-fighter of the Second World War. Captured German airmen would routinely lie that they were shot down by a Spitfire rather than any other plane as there was no shame in losing to such a formidable foe. When Field Marshal Hermann Göring asked a Luftwaffe general what he could do to help in his battle with the British, the general bitingly replied that he’d like a squadron of their Spitfires.

Read more…

Right-sizing your team

Shortly after 9/11, the US military conducted war games that pitched American forces against an unnamed Middle Eastern country. The Middle Eastern country in this simulation was commanded by the retired maverick, Paul Van Riper. The US forces were commanded by four star general, Burwell B. Bell. Bell adopted a very conventional strategy - after all, he commanded the most powerful fleet in the World so what need had he of subterfuge?

Read more…

Is Data Science Dead?

I know the title is clickbait. And I know it’s subject to Betteridge’s law of headlines (“Any headline that ends in a question mark can be answered by the word ’no’.”). But hear me out and consider this quote: “Data scientists spend around 80% of their time on preparing and managing data for analysis.” (Forbes) The dirty truth of data science is that most of the work is not actually data science at all but data engineering.

Read more…

Tickets, please

Change is part of life whether we like it or not. Everybody reacts to it differently. There are some who resist it and some who embrace it. It’s the same in the world of development. Some want everything in its right place before work begins. Others accept flexibility. For most machine learning projects, change comes with the territory. Often, what may appear to be a straightforward piece of work actually turns out to be quite tricky and goal posts subtly shift during development.

Read more…

Tips for effective MLOps

Some miscellaneous tips I’ve discovered after over a year of being hands-on with a clinical ETL pipeline. Technology Set up a local dev environment (Git, Pip, IDE of choice, Python environment etc). Being able to test locally cannot be more important. For instance, I’ve been using Palantir’s Foundry but since it’s just a wrapper around Spark, you can have a full, locally run, test suite using PySpark. If you can’t get the data on your laptop (GDPR etc), use simulated data.

Read more…

MLOps: debugging a pipeline

Healthcare in England is broken down into about 40 regions. For each region, we want to measure the differences in clinical outcomes conditioned on the ethnic and socioeconomic categories of the patients. To do this, we feed the data for each health region into a Spark GLM (Generalized Linear Models). The problem Everything was fine with our pipeline for six months before it started to blow up with: Caused by: org.

Read more…

MLOps debugging: an example

In our ML pipeline, we use generalized linear models to calculate the odds of certain clinical outcomes. We showed this to the client but odds were hard for them to understand. “Can we have probabilities instead?” they asked. So, having trained the GLMs, we fit the same data and calculate the average probabilities for each cohort. We then bastardise the data to create the counterfactuals For example, socioeconomic status is of interest so let’s make everybody the same level (counterfactual) then make our predictions again and compare with the factual results.

Read more…
1