1. A computer-implemented method for predicting patterns in a dataset, wherein the data comprises a large set of features that describe the data, wherein each feature has a feature value corresponding to each datapoint within the dataset, the method comprising: identifying a subset of significant features that are most correlated to the patterns, comprising: downloading a dataset having known outcomes into a memory of a computer having a processor for executing a classification algorithm; for each feature, separating the data into classes according to their known outcomes, wherein the classes comprise a first class having a first set of feature values and a second class having second set of feature values; for each feature, calculating an extremal difference in feature value between a lowest feature value in the first class and a highest feature value in the second class; ranking the features according to the extremal differences in feature value between the classes, wherein the highest extremal differences in feature value have the highest ranks; generating an output in the memory comprising the subset of features having the highest ranks, wherein the subset of features is correlated to the patterns; and transferring the output from the memory to a media.