1. Make sure you don't have any impossible nonsense or data leakage in your features or target
2. Split your data in an intelligent way (temporally for time-series, group-wise for hierarchical data)
3. Try a really simple linear regression / logistic regression model to get a "dumb" baseline for your accuracy/error metric and make sure it is reasonable
4. If you need interpretability, consider a GAM, else, throw it into XGBoost and you'll get state of the art results