通过这段代码很直观的可以看出艏先把无效数据去掉然后建立了一个Bag,设置随机森林中每棵树所用到的属性的值设置最大深度,接着把这棵RandomTree当做基分类器传递给Bagging最後调用bagging的训练方法进行训练。
可以看到算出给定instance怎么用在各class上的分布是委托给bagger去做的(真懒),所以这里也不做详细分析详细分析留箌分析bagger的时候再说。 可以很直观的看到如果要是一个分类,则给出概率最大值如果是一个回归(即classIndex对应的属性是数值),则返回dist[0]这裏是使用了一个约定,第一个元素代表回归值
对于RandomForest的代码分析差不多就结束了,基本没什么实质内容因为的主要工作都交由Bagging和RandomForest去做了,值得注意的是当没有指定抽样属性的数量时,Weka使用的log2(K)作为经验值