code: def create_graph_from_data(self, data):
          
          # Building setup w/ arguments.
          self.arguments['{SCORE}'] = self.score
          self.arguments['{VERBOSE}'] = str(self.verbose).upper()
          self.arguments['{BETA}'] = str(self.beta)
          self.arguments['{OPTIM}'] = str(self.optim).upper()
          self.arguments['{ALPHA}'] = str(self.alpha)
  
          results = self._run_bnlearn(data, verbose=self.verbose)
          graph = nx.DiGraph()
          graph.add_edges_from(results)
          return graph
docs: Run the algorithm on data.
  
          Args:
              data (pandas.DataFrame): DataFrame containing the data
  
          Returns:
              networkx.DiGraph: Solution given by the algorithm.