以下内容参考
http://statistics.berkeley.edu/sites/default/files/tech-reports/666.pdf
Chen Chao, Andy Liaw, Leo Breiman基于random forest提出了两种新的处理不平衡数据的方法。
===========================================================================================
第一种方法称为balanced random forest:
1. 在建立每棵树的时候,先从小类里面进行Bootstrap抽样,得到K个样本,再从大类里面进行抽样,也得到K个样本;
2. 基于CART建立树,并且这棵树的size尽量地大,不要裁剪,而且这棵树每次分叉的时候,只利用其中的个变量;
3. 重复以上的步骤,建立M棵树,进行最后的投票决策!
===========================================================================================
第二种方法称为weighted random forest:
1. 我们给两个类不同的权重();
2. 利用Gini系数寻找分割的时候,给不同的样本点以不同的权重;
3. 每棵树terminal node的类别也是基于权重给定的,即不同的类个数乘以相应的权重;
4. 最终做判断的时候,每棵树的结果也要乘以相应的权重,即这个terminal node中的权重平均值。
===========================================================================================
上面的算法是基于random forest算法的,在Introduction to statistical learning with R中有详细的算法介绍。