1. A computer system for clustering a data set, comprising: a clustering engine for clustering at least one data set in a sequence of data sets as part of a series of clusterings of the data sets in the sequence; a snapshot cost evaluator for determining a snapshot cost of clustering the at least one data set independently of the series of clusterings of the data sets in the sequence; a history cost evaluator for determining a history cost of clustering the at least one data set as part of the series of clusterings of the data sets in the sequence; and an overall cost evaluator for determining a cost of clustering the at least one data set by minimizing both the snapshot cost of clustering at least one data set independently of the series of clusterings of the data sets in the sequence and the history cost of clustering the at least one data set as part of the series of clusterings of the data sets in the sequence.