[Decision Tree]面试中对Decision Tree代码实现的掌握

在Random Forest的代码实现中对于每一个Decision Tree我们是直接拿sklearn中实现的Decision Tree来使用的,所以想请问一般面试当中会被要求实现Decision Tree吗?

几乎不会出现这种情况。首先,实现Decision Tree的代码是比较复杂的,构造树的过程就包括了branch splitting和feature prioritization两步。此外,单独实现Decision Tree而不讨论pruning是没有意义的,因为Decision Tree非常容易overfitting,而pruning的实现会更加复杂。一个45mins的ML modeling相关的面试,如果只考察一道题目的话,写程序时间最多20分钟,核心想考察的是求职者对概念的理解。而实现decision tree的代码有过多细节,不适合作为考题。不过如果同学们面试时真的遇到了这道题,可以在这个thread里面一起讨论题目要求,很有可能面试官会简化/忽略算法的一些内容,只让你实现大概的流程框架。