# Is the Decision Tree algorithm the best for supervised learning for a classificaiton problem with non-linear relationships?

I have a dataset with 1000+ features and 1 mil+ rows. I have a binary target variable either yes or no and the features are all numerically values range from 0 to 100k+.

My goal is to understand which features contributed the most to each instance. My main emphasis is which features contributed to the binary target, thus interpretability is a bigger plus than accuracy.

My question is, are decision trees in sci-kit learn the best suited to interpret non-linear relationships in a classification problem?

• When you say "My goal is to understand which features contributed the most", it sounds as if you seek to identify not just good predictors but causal relationships. With 1000+ features that figures to be a long, long task. It's a very interesting problem; maybe in an answer someone could describe a case in which such an analysis was done effectively. – rolando2 Mar 28 '18 at 20:47

What would be probably the easiest method to interpret is logistic regression - when using LASSO regularization with them it is possible to drive irrelevant components to zero, thus giving a model which predicts an outcome only based on some subset of features (you'd have to run your model with different $\lambda$ values though).