Spark MLlib - Decision Tree源码分析
以决策树作为开始,因为简单,而且也比较容易用到,当前的boosting或random forest也是常以其为基础的 决策树算法本身参考之前的blog,其实就是贪婪算法,每次切分使得数据变得最为有序 那么如何来定义有序或无序? 无序,node impurity 对于分类问题,我们可以用熵entropy或Gini来表示信息的无序程度 对于回归问题,我们用方差Variance来表示无序程度,方差越大,说明数据间差异越大 information gain 用于表示,由父节点划分后得到子节点,所带来的impurity的下降,即有序性的增益 MLib决策树的例子 下面直接看个regression的例子,分类的case,差不多, import org.apache.spark.mllib.tree.DecisionTree import org.apache.spark.mllib.util.MLUtils // Load and parse the data file. // Cache the data since we will use it again to compute train...