Which approach should I use?

Answer the question in front of you and the tree narrows. Every leaf names why, what the recommendation costs, the simpler thing to try first — usually a baseline — and the way the recommended approach itself fails, because a recommendation with none of those attached is a preference wearing a flowchart.

The questions are about the problem and the data rather than the algorithm: what is being predicted, whether labels exist and when they arrive, how much data there is per entity, what the latency budget is, and who has to explain the output. Those decide far more than any preference about model families — and a tree that ends at “XGBoost” without a baseline in front of it has skipped the only step that would have told you whether the model earned its cost.

§142, the flagship. A problem has arrived and someone has already said the name of a library. Before that, say what the labels are, what one example looks like, who has to defend the output, what the latency budget is and how much data there is — because each of those changes the answer. Every leaf below names the simpler thing to try first and how the recommendation itself fails. One leaf says do not use ML; it is not a joke.

Do you have labels — an observed outcome attached to each example — and what shape is the thing you want out?