Search code examples
machine-learningclassification

Ordinal classification packages and algorithms


I'm attempting to make a classifier that chooses a rating (1-5) for a item i. For each item i, I have a vector x containing about 40 different quantities pertaining to i. I also have a gold standard rating for each item. Based on some function of x, I want to train a classifier to give me a rating 1-5 that closely matches the gold standard.

Most of the information I've seen on classifiers deal with just binary decisions, while I have a rating decision. Are there common techniques or code libraries out there to deal with this sort of problem?


Solution

  • I agree with you that ML problems in which the response variable is on an ordinal scale require special handling--'machine-mode' (i.e., returning a class label) seems insufficient because the class labels ignore the relationship among the labels ("1st, 2nd, 3rd"); likewise, 'regression-mode' (i.e., treating the ordinal labels as floats, {1, 2, 3}) because it ignores the metric distance between the response variables (e.g., 3 - 2 != 1).

    R has (at least) several packages directed to ordinal regression. One of these is actually called Ordinal, but i haven't used it. I have used the Design Package in R for ordinal regression and i can certainly recommend it. Design contains a complete set of functions for solution, diagnostics, testing, and results presentation of ordinal regression problems via the Ordinal Logistic Model. Both Packages are available from CRAN) A step-by-step solution of an ordinal regression problem using the Design Package is presented on the UCLA Stats Site.

    Also, i recently looked at a paper by a group at Yahoo working on ordinal classification using Support Vector Machines. I have not attempted to apply their technique.