class_docstr: Check how good the error approximations are. Of course, we use an
  approximation for P so this itself is an approximation.
class_docstr_tok: ["Check","how","good","the","error","approximations","are",".","Of","course",",","we","use","an","approximation","for","P","so","this","itself","is","an","approximation","."]
code: def report(self):
      exact_errors = np.array(self.exact_errors)
      bh_errors = np.array(self.bh_errors)
      fft_errors = np.array(self.fft_errors)
  
      bh_diff = bh_errors - exact_errors
      print(
          "Barnes-Hut: mean difference %.4f (±%.4f)"
          % (np.mean(bh_diff), np.std(bh_diff))
      )
  
      fft_diff = fft_errors - exact_errors
      print(
          "Interpolation: mean difference %.4f (±%.4f)"
          % (np.mean(fft_diff), np.std(fft_diff))
      )
  
file_path: openTSNE/openTSNE/callbacks.py
imports: import logging
  from functools import partial
  import numpy
  from scipy.sparse import csr_matrix
  from openTSNE import kl_divergence
  from openTSNE.tsne import TSNEEmbedding
label_desc: Use image node_id 3 for calling the ErrorApproximations obj's underlying member method code with example usage: obj.report() without return types