1. A method for classifying unclassified samples, comprising: detecting a plurality of classes, wherein each class comprises training samples within a training data set, and wherein each of the training samples is associated with a class; for each class, determining a vector for each training sample based on a specified number of nearest neighbor distances between the training sample and the specified number of nearest neighbor training samples; for each class, determining a class distribution based on the vectors for the training samples; detecting an unclassified sample in a data set; for each class, determining a vector for the unclassified sample based on the specified number of nearest neighbor distances between the unclassified sample and the specified number of nearest neighbor training samples within the class; for each class, determining a probability that the unclassified sample is a member of the class based on the vector for the unclassified sample and the class distribution of the class; and classifying the unclassified sample based on the probabilities.