I'm working on the SAMHSA Mental Health Client-Level Dataset. I'm trying to train classifiers to predict the disorder given the rest of the columns. There are 13 binary disorder columns (bipolar, schizophrenia, ADHD, etc.) based on diagnoses.
Code: https://github.com/jacksonwalters/ml-examples/tree/main/mental_health_client-level_data
I've trained a RandomForestClassifier and multi-class LogisticRegression. They are 36% accuracy, 30% precision, 36% recall. I binned the disorders [0 disorders, 1 disorder, > 1 disorder]. I also tried binary encoding the 2^13=8192 combinations of disorders, which had similar accuracy but 17% precision. A random guess in the former case should be ~7%.
If I predict the k-means labels, I get ~92% accuracy, precision, recall.
For the disorder labeling, should I use LogisticRegression and drop all other columns, and perform the classification on the remaining columns? I'd do this for all 13 columns, then just divide by the sum to get 13d vector probability outputs.
The output/labels are really Boolean vectors. If someone is diagnosed with ADHD by two different doctors, they do not have 2*ADHD, they just have ADHD, so ADHD + ADHD = ADHD, i.e. idempotent.