I'm using this dataset, https://archive.ics.uci.edu/ml/datasets/Drug+consumption+%28quantified%29, in a research whose main goal is to find correlations among attributes that influences people to be addicted to some "illegal" drugs. For example, people who are womem, aged between 25-34 and likes too much chocolate, has a probability of x% to also be addicted to cannabis.
After preprocessing de original database, I now have the following attributes:
18-24 25-34 35-44 45-54 55-64 65+ GENDER EDUCATION N E O A C I SS CAFF NICOTINE CHOC ALCOHOL
AMPHET AMYL BENZOS CANNABIS COKE CRACK ECSTASY HEROIN KETAMINE LEGALH LSD METH MUSH VSA
As you can see, this is a multiclass classification problem, where a sample can belong to more than one class at the same time. Below there is a example sample that belongs to several classes:
My question is: which algorithm(s) best suit for this classification and correlation problem? I've already taken a look in Multinomial Naïve Bayes and Decision Trees, but I'm not sure if these algorithms can solve this particular kind of problem well.
OBS. I'm using Python with Scikit-learn.
Thanks in advance.