mahout中决策森林学习记录

来源:互联网 发布:淘宝天天特价 编辑:程序博客网 时间:2024/05/02 04:20

样例程序:BreimanExample.java,这个不是map-reduce的版本。

mahout 中随机森林的实现过程:

1、首先我们要传入森林的规模,也就是-t参数的含义,即森林中决策树的个数。其次当中每个决策树都是未经剪枝的树,即不像ID3和C4.5算法那样会对树进行剪枝。而且训练的过程也稍有不同。

2、每次建一棵树之前,会先对原始样本集进行一次混洗,这里的混洗有点像GA算法中选择运算符的作用,挑选一些子样本作为一棵决策树的输入,这里总的样本数目是一定的,但由于是随机选择,可能输入中会有重复的样本值。在官方的文档对于这里有这样的解释:

each tree is constructed using a different bootstrap sample from the original data. 

3、每次决策不是挑选当前最好的特征作为分割,而是随机挑选{m=log2(M ) + 1M是样本输入特征的个数}个特征,再从这个m个特征中挑选信息增益最大的特征作为分割。


程序比较简单,很容易看懂~