随机森林算法就是建立n个决策树,将要预测的数据放入n个决策树,得到结果次数最多的类就是该数据属于的类。
建立n个决策树:
采用自助法重采样技术,即在总体有放回地取n次样本,每个样本含有m个数据。建立n个决策树。
每个决策树的建立:
决策树每个分支的根节点都是数据的一个属性,根据条件(可以是离散值,也可以是连续值的临界点)划分成两个或多个子树,并尽量让一个分裂子集中待分类项属于同一类别。
ID3算法中:
选择根节点的顺序是根据信息增益的大小来排的
设D为用类别对训练元组进行的划分,则D的熵(entropy)表示为:
其中pi表示第i个类别在整个训练元组中出现的概率,可以用属于此类别元素的数量除以训练元组元素总数量作为估计。熵的实际意义表示是D中元组的类标号所需要的平均信息量。熵代表事务的不确定性,熵越大,代表越不确定。
现在我们假设将训练元组D按属性A进行划分,则A对D划分的期望信息为:
即为条件熵H(D|A),
而信息增益即为两者的差值:
然后选择增益率最大的属性进行分裂。递归使用这个方法计算子节点的分裂属性,最终就可以得到整个决策树。
对于临界点的值,可以先将D中元素按照特征属性排序,则每两个相邻元素的中间点可以看做潜在分裂点,从第一个潜在分裂点开始,分裂D并计算两个集合的期望信息,具有最小期望信息的点称为这个属性的最佳分裂点,其信息期望作为此属性的信息期望。
C4.5算法中:
定义了“分裂信息”,其定义可以表示成:
其中各符号意义与ID3算法相同,然后,增益率被定义为:
C4.5选择具有最大增益率的属性作为分裂属性
停止条件:
决策树的构建过程是一个递归的过程,所以需要确定停止条件,否则过程将不会结束。一种最直观的方式是当每个子节点只有一种类型的记录时停止,但是这样往往会使得树的节点过多,导致过拟合问题(Overfitting)。另一种可行的方法是当前节点中的记录数低于一个最小的阀值,那么就停止分割,将max(P(i))对应的分类作为当前叶节点的分类。