Fix usability issue in metrics.classification_report.
In following codes, 'class 0' and 'class 1' will be printed, while 'class 0' and 'class 2' are expected.
y_true = [0, 0, 2, 0, 0]
y_pred = [0, 2, 2, 0, 0]
target_names = ['class 0', 'class 1', 'class 2']
print(metrics.classification_report(y_true, y_pred, target_names=target_names))

In real world, we don't know which label will be included in y_true or y_pred, since those may come from random subset using KFold. So include all the label names in 'target_names' is safer and more intuitive.