How do you choose between linear models, tree-based methods, or deep learning based on data constraints?