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:
Inputs:
18-24
25-34
35-44
45-54
55-64
65+
GENDER
EDUCATION
N
E
O
A
C
I
SS
CAFF
NICOTINE
CHOC
ALCOHOL
Classes:
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.