This chapter describes a variety of techniques for writing efficient, scalable, and general-purpose decision forest software. It will cover:-

  • Algorithmic considerations, such as how to train in depth first or breadth first order;
  • Optimizations, such as cheaply evaluating multiple thresholds for a given feature;
  • Designing for multi-core, GPU, and distributed computing environments; and
  • Various `tricks of the trade’, including tuning parameters and dealing with unbalanced training sets.