classification_report_imbalanced — imbalanced-ensemble 0.1.0 documentation

# classification_report_imbalanced

`imbalanced_ensemble.metrics.` `classification_report_imbalanced`(y_true, y_pred, *, labels=None, target_names=None, sample_weight=None, digits=2, alpha=0.1, output_dict=False, zero_division='warn')

  Build a classification report based on metrics used with imbalanced dataset

  Specific metrics have been proposed to evaluate the classification performed on imbalanced dataset. This report compiles the state-of-the-art metrics: precision/recall/specificity, geometric mean, and index balanced accuracy of the geometric mean.

  Read more in the User Guide.

  Parameters
    y_true1d array-like, or label indicator array / sparse matrix

      Ground truth (correct) target values.

    y_pred1d array-like, or label indicator array / sparse matrix

      Estimated targets as returned by a classifier.

    labelsarray-like of shape (n_labels,), default=None

      Optional list of label indices to include in the report.

    target_nameslist of str of shape (n_labels,), default=None

      Optional display names matching the labels (same order).

    sample_weightarray-like of shape (n_samples,), default=None

      Sample weights.

    digitsint, default=2

      Number of digits for formatting output floating point values. When `output_dict` is `True`, this will be ignored and the returned values will not be rounded.

    alphafloat, default=0.1

      Weighting factor.

    output_dictbool, default=False

      If True, return output as dict.

    zero_division“warn” or {0, 1}, default=”warn”

      Sets the value to return when there is a zero division. If set to “warn”, this acts as 0, but warnings are also raised.

  Returns
    reportstring / dict

      Text summary of the precision, recall, specificity, geometric mean, and index balanced accuracy. Dictionary returned if output_dict is True. Dictionary has the following structure:

          {'label 1': {'pre':0.5,
                       'rec':1.0,
                       ...
                      },
           'label 2': { ... },
            ...
          }

  Examples

      >>> import numpy as np
      >>> from imbalanced_ensemble.metrics import classification_report_imbalanced
      >>> y_true = [0, 1, 2, 2, 2]
      >>> y_pred = [0, 0, 2, 2, 1] # doctest : +NORMALIZE_WHITESPACE
      >>> target_names = ['class 0', 'class 1',     'class 2'] # doctest : +NORMALIZE_WHITESPACE
      >>> print(classification_report_imbalanced(y_true, y_pred,     target_names=target_names))
                         pre       rec       spe        f1       geo       iba       sup

          class 0       0.50      1.00      0.75      0.67      0.87      0.77         1
          class 1       0.00      0.00      0.75      0.00      0.00      0.00         1
          class 2       1.00      0.67      1.00      0.80      0.82      0.64         3

      avg / total       0.70      0.60      0.90      0.61      0.66      0.54         5

## Examples using `imbalanced_ensemble.metrics.classification_report_imbalanced`

Evaluate classification by compiling a report