1. A computer implemented method for classifying a data stream using high-order models, the computer implemented method comprising: dividing the data stream into a plurality of data segments; selecting a classifier for each of the plurality of data segments; clustering each of a plurality of classifiers into states; and computing a state transition matrix for the states, wherein the states of the state transition matrix specify one of the high-order models for classifying the data stream.