class_docstr: Abstract class for confusion matrix
  
  You shouldn't instantiate this class.
  You might instantiate ConfusionMatrix or BinaryConfusionMatrix classes
class_docstr_tok: ["Abstract","class","for","confusion","matrix","You","should","n't","instantiate","this","class",".","You","might","instantiate","ConfusionMatrix","or","BinaryConfusionMatrix","classes"]
docstr: Returns a DataFrame with classification report
docstr_tok: ["Returns","a","DataFrame","with","classification","report"]
code: def classification_report(self):
      """
      Returns a DataFrame with classification report
      """
      columns = np.array(["precision", "recall", "F1_score", "support"])
      index = self.classes
      df = pd.DataFrame(index=index, columns=columns)
  
      for cls in self.classes:
          binary_cm = self.binarize(cls)
          for stat in columns:
              df.loc[cls, stat] = getattr(binary_cm, stat)
  
      total_support = df.support.sum()
      df.loc["__avg / total__", :] = (
          df[df.columns[:-1]].transpose() * df.support
      ).sum(axis=1) / df.support.sum()
      df.loc["__avg / total__", "support"] = total_support
  
      return df
  
imports: import numpy
  import pandas
  import collections
  import pandas_ml
  from pandas_ml.confusion_matrix.stats import binom_interval, class_agreement, prop_test
label_desc: Use image node_id 32 for calling the ConfusionMatrixAbstract obj's underlying member method code with example usage: obj.classification_report() and returns: df