class_docstr: The abstract interface for the tree initializers.
  
  Initializers are responsible for setting the starting values of the model, in particular:
    - structure of decision and leaf nodes
    - variables and values used in splits
    - values of leaf nodes
  
  Good initialization of trees helps speed up convergence of sampling
  
  Default behaviour is to leave trees uninitialized
class_docstr_tok: ["The","abstract","interface","for","the","tree","initializers",".","Initializers","are","responsible","for","setting","the","starting","values","of","the","model",",","in","particular",":","-","structure","of","decision","and","leaf","nodes","-","variables","and","values","used","in","splits","-","values","of","leaf","nodes","Good","initialization","of","trees","helps","speed","up","convergence","of","sampling","Default","behaviour","is","to","leave","trees","uninitialized"]
code: def initialize_trees(
      self, trees: Generator[Tree, None, None]
  ) -> None:
      n_trees = 0
      for tree_number, tree in enumerate(trees):
          self.initialize_tree(tree, tree_number)
          n_trees += 1
      self.n_trees = n_trees
  
imports: from typing import Generator
  from ..tree import Tree
label_desc: Use image node_id 3 for calling the Initializer obj's underlying member method code with example usage: obj.initialize_trees(trees) without return types