使用Random Forest进行多分类和模型调优

转自 http://longriver.me/?p=329

    1. 解决多分类问题的一些思考:
      1. 存在大量的label数据,存在比较丰富的context信息,所以想训练分类模型来实现对样本类型的预测,目前是三个类别(0,1,2)
      2. 候选拟采用的分类模型:LR,SVM,GBDT,RandomForest.
      3. 这个预测是个多分类问题,ensemble 思想的 GBDT和 RandomForest方法天然支持多分类,效果可能更好,另外sklearn的库上有比较成熟的ensemble的方法,可以直接使用。
      4. 常住点预测的多分类还是一个不平衡的多分类(classification imbalance)问题,样本之间数目比例差异较大。
    2. 分类模型的选择:使用RandomForest
      1. Random Forest 的原理和使用:
        1. 原理:Random Forest的是一种集合学习的方法(ensemble learning)将多个分类器组合起来成为一个分类器。
        2. Bagging VS Boosting:两者相似之处是,都是将同一类型的分类器组合起来,都是有放回的为每个弱分类器随机抽取一定比例的样本训练。不同之处是,boosting的训练是有序的,新的分类器训练要基于上一个分类器的预测效果。GBDT采用Baoosting技术,RandomForest采用Bagging技术。
        3. RandomForest 的构建:并行构建K棵决策树,每个决策树随机地选取指定比例p(ie 0.6)的sample和指定比例q(ie 0.5)的feature进行训练.
        4. RandomForest 的预测:多个弱分类器投票结果融合为最终分类结果,见图1

posted on 2014-03-14 13:51  Harveyaot  阅读(2949)  评论(0编辑  收藏  举报

导航