1. A computer-implemented method comprising: (a) inputting into a computer processor programmed to execute a support vector machine a set of training examples having known labels with regard to two or more classes, each training example described by a vector of feature values for a plurality of features, the support vector machine comprising a decision function having a plurality of weights, wherein each feature has a corresponding weight; (b) training the support vector machine by optimizing the plurality of weights so that a cost function is minimized and support vectors comprising a subset of the training examples are defined, wherein the decision function is based on the support vectors; (c) computing ranking criteria using the optimized plurality of weights, wherein the ranking criterion estimates for each feature the effect on the cost function of removing that feature, and wherein features having the smallest effect on the cost function have the smallest ranking criteria; (d) eliminating one or more features corresponding to the smallest ranking criteria to yield a reduced set of features; (e) repeating steps (c) through (d) for the reduced set of features for a plurality of iterations until a subset of features of predetermined size remains, wherein the subset of features comprises determinative features for separating the set of training examples into the two or more classes; and (f) generating at a printer or display device an output comprising a listing of the determinative features.