Tests understanding of recursive algorithms and information theory – a favorite in system design interviews.
Build a decision tree that uses information gain to select the best feature for splitting at each node.
Your implementation should: