python - Issue with the optional list of label indices to include in the classification report -
i having issues labels , target_names attributes of sklearn.metrics.classification_report.
the documentation says:
labels: array, shape = [n_labels]. optional list of label indices include in report.target_names: list of strings. optional display names matching labels (same order).
however, in cases not seem follow specify in labels , target_names.
example:
from sklearn.metrics import classification_report sklearn.preprocessing import labelbinarizer y_true = ['default_label', 'location', 'date', 'default_label', 'name', 'id', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'date', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'name', 'name', 'name', 'default_label', 'name', 'default_label', 'date', 'default_label', 'date', 'default_label', 'date', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label'] y_pred = ['location', 'location', 'date', 'default_label', 'name', 'id', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'date', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'name', 'name', 'name', 'default_label', 'name', 'default_label', 'date', 'default_label', 'date', 'default_label', 'date', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label', 'default_label'] lb = labelbinarizer() y_true_combined = lb.fit_transform(y_true) y_pred_combined = lb.transform(y_pred) tagset = set(lb.classes_) - {'default_label'} tagset = list(tagset) tagset = sorted(tagset) class_indices = {cls: idx idx, cls in enumerate(lb.classes_)} labels = [class_indices[cls] cls in tagset] print(classification_report(y_true_combined, y_pred_combined, labels = labels, target_names = tagset)) returns:
precision recall f1-score support date 1.00 1.00 1.00 5 id 1.00 1.00 1.00 1 location 0.50 1.00 0.67 1 name 1.00 1.00 1.00 5 avg / total 1.00 1.00 1.00 295 which means default_label label not ignored (in support column, number 295 higher 5+1+1+5 sum), unlike specified.
if comment line tagset = sorted(tagset), expected classification report default_label label ignored:
precision recall f1-score support date 1.00 1.00 1.00 5 location 0.50 1.00 0.67 1 name 1.00 1.00 1.00 5 id 1.00 1.00 1.00 1 avg / total 0.96 1.00 0.97 12 why?
i use scikit-learn 0.17 python 2.7.11 x64.
Comments
Post a Comment