Factors that contribute to binge drinking I am currently doing a bachelor thesis about why certain students at my university tend to binge drink. I have collected a dataset with 908 instances with both categorical and numerical values. The aim of the thesis is to identify which attributes that contribute the most to the classification of binge drinking. 
What are your thoughts about how I should go about analysing the data? I am currently analyzing the data with decision trees which I then cross validate and prune to make the model not overfit. I consider including:


*

*Image/rules of The decision tree model before pruning with 50% training, 50 % testing.


*

*Its precision, accuracy and recall.


*Image/rules of The decision tree model after pruning with 50% training, 50 % testing.


*

*Its precision, accuracy and recall.



and then increase the training and decrease the testing. Then analyze and discuss the results about which attributes that are most likely to classify a binge drinker.
What are your opinions? Anything I missed out or should include? Is it a solid plan?;)
 A: If you are interested in predicting future binge drinking from a set of variables, then a decision tree may be the way to go.
If you are interested in which variables are associated with binge drinking, I would suggest that you should switch up to using logistic regression for the categorical dependent variables and regular old OLS regression for the continuous dependent variables.
A: Decision tree / random forest is one option, if you decide to run a logit regression as well then given the rather large number of independent variables you can try implementing a shrinkage method, like LASSO, which performs both variable selection and estimation, extremely valuable when the parameter space is large. In fact you could include all of the interactions between your 28 variables (you'll then have several hundred independent variables) such that LASSO will also be able to pick up on nonlinear relationships.   R packages gamlr or glmnet have this capability and make it easy to implement. If you're interested, try to look at some tutorials online or read some papers to get acquainted (I think this stuff is a little bit more involved than what you find in the typical undergrad curriculum). 
A: One way to do this would be to first perform a supervised classification with Random Forest, and then extract the important features. 
R has a very nice Random Forest implementation - https://cran.r-project.org/web/packages/randomForest/randomForest.pdf
A very "Cliffs Notes" version of what I would do is:
library(randomForest)

rf <- randomForest(x = xvars_df,        # your 28 predictor variables (in a data frame format)
                   y = y_dep_vector)    # your dependent y-var
                   importance = TRUE)

Then extract the importance features using:
rf$importance

The most "descriptive" predictors will have the highest percent increase mean squared error (%IncMSE), as the error will increase as they are removed during the RF tree-generation.
Like I said, this is a very "Cliffs Notes" version of the pipeline, but it should guide you in a good direction if you chose to pursue it.
(EDIT: I am an R programmer so I included R code. However, I am pretty sure there are other languages that have Random Forest implementation if you are not comfortable in R.)
