class_docstr: Assesses the quality of partitioning according to chosen metrics and report it.
  
  Available metrics: edge cut, edge imbalance, vertex imbalance, time, memory usage.
  
  Parameters
  ----------
  partitionings:
          Data splits to be compared.
  
  Example
  -------
  
  >>>>quality = PartitioningReporter(partitionings)
  >>>>report = quality.report(visualize=False)
class_docstr_tok: ["Assesses","the","quality","of","partitioning","according","to","chosen","metrics","and","report","it",".","Available","metrics",":","edge","cut",",","edge","imbalance",",","vertex","imbalance",",","time",",","memory","usage",".","Parameters","--","--","--","--","--","partitionings",":","Data","splits","to","be","compared",".","Example","--","--","--","-",">",">",">",">","quality","=","PartitioningReporter","(","partitionings",")",">",">",">",">","report","=","quality.report","(","visualize=False",")"]
docstr: Calculates mean edge cut across partitions in a single partitioning.
  
  Parameters
  ----------
  k: int
      Number of partitions.
  partitions:
      Partitions in one partitioning.
  
  Returns
  -------
  edge_cut: ndarray
      Average edge cut between partitions.
docstr_tok: ["Calculates","mean","edge","cut","across","partitions","in","a","single","partitioning",".","Parameters","--","--","--","--","--","k",":","int","Number","of","partitions",".","partitions",":","Partitions","in","one","partitioning",".","Returns","--","--","--","-","edge_cut",":","ndarray","Average","edge","cut","between","partitions","."]
code: def get_edge_cut(self, k, partitions, avg_size=None):
      """Calculates mean edge cut across partitions in a single partitioning.
  
      Parameters
      ----------
      k: int
          Number of partitions.
      partitions:
          Partitions in one partitioning.
  
      Returns
      -------
      edge_cut: ndarray
          Average edge cut between partitions.
      """
  
      intersections = []
      logger.debug(partitions)
      for partition1 in partitions:
          logger.debug("Partition 1: {}".format(partition1))
          intersect = []
          for partition2 in partitions:
              if partition1 == partition2:
                  continue
              inter = partition1.intersect(partition2)
              logger.debug("Intersections: {}".format(inter))
              intersect.append(len(inter))
              logger.debug("Partition 2: {}".format(partition2))
          intersections.append(np.mean(intersect))
      logger.debug("Intersections: {}".format(intersections))
      edge_cut = np.mean(intersections)
      edge_cut_proportion = None
      if avg_size:
          # edge cut with respect to the average partition size
          edge_cut_proportion = (edge_cut * 100) / avg_size
      return edge_cut, edge_cut_proportion
  
file_path: AmpliGraph/ampligraph/datasets/partitioning_reporter.py
imports: import copy
  import logging
  import matplotlib.pyplot
  import numpy
  from matplotlib.pyplot import cm
  from .datasets import load_fb15k_237
  from .graph_partitioner import RandomVerticesGraphPartitioner
label_desc: Use image node_id 2 for calling the PartitioningReporter obj's underlying member method code with example usage: obj.get_edge_cut(k, partitions, avg_size) and returns: edge_cut,  edge_cut_proportion