← Sol Thiessen

2025 · MSc thesis, ETH Zürich

AI & ML

Models whose reasoning I can explain to a coach: what a golfer could change in their swing to get the result they want.

Read the thesis ↗Slides ↗

Thesis
Interpretable ML for golf
Swings
424 usable of 903
Best model
4.31 mph RMSE
Explainers
SHAP · LIME · ALE
Degree
MSc CS · grade 5.4

Golf swing coaching

MSc thesis · Mar – Sep 2025 · ETH Laboratory for Movement Biomechanics & Fenris GmbH

The question

Most swing-analysis research classifies or segments swings, or nudges a golfer toward a professional's. Its feedback doesn't depend on the outcome you actually want. I asked whether a black-box model trained on motion-capture data could tell a golfer what to change to get a specific result.

The target was clubhead speed, the outcome labelled most consistently across the data.

The data

An industry partner supplied markerless motion capture from two 240 fps cameras (down the line and face on), plus force plates under each foot. Of 903 trials across four shipments, 424 met the inclusion criteria: complete joint data, iron shots, a valid clubhead speed and a right-handed golfer.

Those swings came from only 25 de-identified user IDs, and an ID identifies a capture system rather than a verified golfer. That shaped the evaluation: every model was scored with both trial-level and group-by-ID cross-validation.

The pipeline

  1. SnapshotTime series → features at takeaway, top, downswing, impact
  2. FilterVariance inflation ≤ 5, so effects can be read
  3. ModelRidge, XGBoost, neural nets, LSTM, ensembles
  4. TuneNested cross-validation with Optuna
  5. ExplainPDP, ICE, ALE, LIME, SHAP, counterfactuals

Snapshot features trade a little accuracy for readability. Consecutive time steps are strongly correlated, which makes per-feature effects hard to trust, so the raw-sequence LSTM served only as a benchmark.

Resultsnested CV, trial-level folds, joint angles + phase timing

Clubhead speed error by model (mean ± 1 sd, mph, lower is better). The stacked ensemble of all three base learners was best at 4.31 ± 0.43 mph. The LSTM on raw time series trailed every tabular model, at 7.70 mph on the baseline features.
Show as table
ModelRMSE (mph)SD

What the models said

Timing and rotational-speed features dominated the importance rankings, but their advice is obvious: to swing faster, rotate faster. Models trained on static joint positions alone were less accurate but more useful, because they pointed at posture a coach can work on.

One example, for the model analysed: keeping the trail elbow relatively straight during the takeaway was associated with higher clubhead speed.

Counterfactual explanations answer the coaching question directly. Starting from a golfer's own swing, a prototype-guided search finds a sparse, plausible change that pushes predicted speed past a target, such as 75 mph, with every feature kept inside the ranges seen in training.

Limits: with 25 IDs, generalising across users was hard. A real coaching tool would fit to a player's own swings before explaining, which is the setting where this approach works best.

The same idea, on a golf hole

Counterfactual search, roughly, is this ball. It steps downhill toward the outcome you want and can settle in a local minimum on the way. Tap the bunker to raise the sand and watch it find the cup. This demo isn't from the thesis.

Paper ↗Slides ↗

© 2026 Sol ThiessenBack to the start