class_docstr: All parameters, except for the `generator` argument, are used to configure `acylicgraph`.
  For the setting of the acylic graph generator, please refer to https://fentechsolutions.github.io/CausalDiscoveryToolbox/html/data.html
  
  Parameters
  ----------
  generator: str
      'tuebingen', 'sachs', 'dream4' or 'acylicgraph'
  causal_mechanism: str
      'linear', 'polynomial', 'sigmoid_add', 'sigmoid_mix', 'gp_add', 'gp_mix', 'nn'
  noise: str or function
      Type of noise function to use in the generative process
  noise_coeff: float
      Proportion of noise
  npoints: int
      Total number of data points
  nodes: int
      Total number of nodes (i.e. variables)
  parents_max: int
      Maximum number of parent nodes
  expected_nedges: int
      Number of edge per node expected if erdos graph is used
class_docstr_tok: ["All","parameters",",","except","for","the","`","generator","`","argument",",","are","used","to","configure","`","acylicgraph","`",".","For","the","setting","of","the","acylic","graph","generator",",","please","refer","to","https",":","\/\/fentechsolutions.github.io\/CausalDiscoveryToolbox\/html\/data.html","Parameters","--","--","--","--","--","generator",":","str","'tuebingen","'",",","'sachs","'",",","'dream4","'","or","'acylicgraph'","causal_mechanism",":","str","'linear","'",",","'polynomial","'",",","'sigmoid_add","'",",","'sigmoid_mix","'",",","'gp_add","'",",","'gp_mix","'",",","'nn'","noise",":","str","or","function","Type","of","noise","function","to","use","in","the","generative","process","noise_coeff",":","float","Proportion","of","noise","npoints",":","int","Total","number","of","data","points","nodes",":","int","Total","number","of","nodes","(","i.e",".","variables",")","parents_max",":","int","Maximum","number","of","parent","nodes","expected_nedges",":","int","Number","of","edge","per","node","expected","if","erdos","graph","is","used"]
code: def graph_score(self, test_graph: nx.DiGraph) -> float:
      pr_score, _ = precision_recall(
          self._ground_truth_graph, test_graph
      )
      shd_score = SHD(self._ground_truth_graph, test_graph)
      return float(pr_score - shd_score)
  
file_path: nevergrad/nevergrad/functions/causaldiscovery/core.py
imports: import typing
  import networkx
  import cdt
  from cdt.metrics import precision_recall, SHD
  import nevergrad
  from ..base import ExperimentFunction
label_desc: Use image node_id 3 for calling the CausalDiscovery obj's underlying member method code with example usage: obj.graph_score(test_graph) and returns: float