# Correlation or clustering of continuous score and discrete variable states

I have an experiment that produces a decimal score representing quality, and a bunch (5-30) of variables that each take on one of a set of discrete states. - The states are not meaningfully contiguous - the states are just a set of unrelated discrete values ("foo", "bar") - The set of states is about 10-40 for each variable. - There may be correlation between the values of different variables. - The states for one variable may overlap with another variable, but we can treat them independently. There is also noise unrelated to the variables, but lets assume that the noise is much smaller than the effect of the variables.

What approach can I use to correlate or cluster good scores with specific states?

I'm looking for a result along the lines of "a good score is mostly correlated with variable X = state foo, and variable Y = state bar"

I'm relatively new to this area and every method I'm familiar with deals with relationships between continuous variables. There seem to be methods based on binary states, and I suppose I could translate my variables into mutually exclusive binary states, but I'm still not sure where to go from there.

(possibly similar to Similarity between objects based on tags (binary features) but I haven't figured it out yet)

Try this approach:

1. define a threshold when a score is considered "good"
2. learn a decision tree for score quality
3. study the decision tree

Alternatively, you could use an supervised association rule learning approach, and try to learn rules where the consequence is a high score (you still need to discretize the score to a "good" value!), i.e. filter the learned rules to have the type

X_foo Y_bar -> Score_good


This approach may be better at capturing correlations, as in these cases the combined rule will have a much higher confidence at a slightly lower support. Interestingness measures should capture this.

A clustering approach will not be helpful, as it doesn't understand that you are interested in the Score variable - use something "supervised".