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: Metric that calculates the average difference between the
  ideal size of partition (in terms of edges) and the real size.
  
  It is expressed as percentage deviation from ideal size.
  
  Parameters
  ----------
  partitions:
       Partitions in one partitioning.
  
  Returns
  -------
  percentage_dev: float
       Percentage edge size partition deviation.
docstr_tok: ["Metric","that","calculates","the","average","difference","between","the","ideal","size","of","partition","(","in","terms","of","edges",")","and","the","real","size",".","It","is","expressed","as","percentage","deviation","from","ideal","size",".","Parameters","--","--","--","--","--","partitions",":","Partitions","in","one","partitioning",".","Returns","--","--","--","-","percentage_dev",":","float","Percentage","edge","size","partition","deviation","."]
code: def get_average_deviation_from_ideal_size_edges(self, partitions):
      """Metric that calculates the average difference between the
      ideal size of partition (in terms of edges) and the real size.
  
      It is expressed as percentage deviation from ideal size.
  
      Parameters
      ----------
      partitions:
           Partitions in one partitioning.
  
      Returns
      -------
      percentage_dev: float
           Percentage edge size partition deviation.
      """
  
      k = len(partitions)
      sizes = []
      for partition in partitions:
          sizes.append(partition.get_data_size())
      logger.debug("Parent: {}".format(partition.parent.backend.data))
      data_size = partition.parent.get_data_size()
      logger.debug("Parent data size: {}".format(data_size))
      ideal_size = data_size / k
      logger.debug("Ideal data size: {}".format(ideal_size))
      percentage_dev = (
          (np.sum([np.abs(ideal_size - size) for size in sizes]) / k)
          / ideal_size
      ) * 100
      return percentage_dev
  
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 6 for calling the PartitioningReporter obj's underlying member method code with example usage: obj.get_average_deviation_from_ideal_size_edges(partitions) and returns: percentage_dev