Patent ID: 8311956

Claim:
A method of training a traffic classifier comprising: generating a training data set comprising a plurality of training flow sets, each training flow set comprising one of a plurality of training feature sets and an associated one of a plurality of class labels, each training feature set and associated class label based on measurements of one of a plurality of training packet flows, the associated class label identifying to which one of a plurality of traffic classes the one of the plurality of training packet flows belongs; training a plurality of binary classifiers using the training data set, each binary classifier associated with one of the plurality of traffic classes, each binary classifier configured to generate an output score based on one of the training feature sets and based on measurements of a packet flow; and training a plurality of calibrators using the training data set, wherein each calibrator is associated with one of the plurality of binary classifiers, wherein the training the plurality of calibrators comprises training each of the plurality of calibrators to translate the output score of the associated binary classifier into a estimated class probability value, the estimated class probability value indicating a probability that the packet flow on which the output score is based belongs to the traffic class associated with the binary classifier associated with the calibrator, wherein the training each of the plurality of calibrators further comprises, for each calibrator: generating a set of output scores using the binary classifier associated with the calibrator, each output score based on one of the plurality of feature sets in the training data set; dividing the set of output scores into a set of intervals; determining for each interval a total number of class labels associated with the interval and a number of matching class labels associated with the interval, wherein the class labels associated with the interval are class labels associated with a same flow set as used to generate any of the output scores in the interval, wherein the matching class labels identify the traffic class associated with the binary classifier associated with the calibrator; calculating a set of empirical class probability values, one for each interval by dividing the number of matching class labels associated with the interval by the total number of class labels associated with the interval; creating a reliability diagram by mapping the set of empirical class probability values against the set of intervals; and fitting the reliability diagram to a logistic curve.