I am using 3-class linear discriminant analysis on a data set. The 3 class labels correspond to a single value, with high, mid and low values (labels -1, 0, and 1). The 3-class LDA works much better than 2-class when classifying against a test set.

But I need to transform the 3 class scores into a single score. I'm having trouble with the middle set. What I tried is:

new_score = (label==-1)*(1-scores(1)) + (label==1)*(scores(3)) + (label==0)*(scores(3)-scores(1))/3+0.5)

Which does a reasonable job. But, is there a better way to transform the 3-score set into a single score?

  • $\begingroup$ How do you compute the score? $\endgroup$
    – Matthieu
    Commented Apr 28, 2016 at 12:29
  • 1
    $\begingroup$ Matlab LDA. [c_label, c_score, c_cost] = predict(lda_object, data_matrix) $\endgroup$
    – mousomer
    Commented May 1, 2016 at 10:54


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.