1. A computer-implemented method for analyzing a dataset comprising a plurality of features to separate the dataset into two or more known classes, the method comprising: downloading the dataset into a computer system having a memory, an output device, and a processor programmed for executing a support vector machine; separately, for each feature of the plurality of features: (i) training the support vector machine to separate the dataset into the two or more known classes to define two or more sets of data points, wherein each set of data points has an extremal point corresponding to a maximum separation between the two or more known classes; (ii) determining the separation distance between the extremal points of the two or more sets of data points; repeating steps (i) and (ii) for all features of the plurality so that the separation distance between the extremal points is determined for each feature whereby each feature is associated with a corresponding separation distance value; ranking the features according to their corresponding separation distance values, wherein the highest ranked features have the greatest separation distance values; selecting a subset of features having the highest rank; and generating an output comprising a report listing the selected subset of features for display or storage on a computer-readable medium at the output device.