美文网首页
机器学习集成学习与树家族汇总

机器学习集成学习与树家族汇总

作者: 二十四号 | 来源:发表于2017-12-26 21:01 被阅读21次

本文会借助对集成学习(Ensemble Learning)的分析,对决策树(Decision Tree)、随机森林(Random Forest)、梯度提升树(Gradient Boosted Decision Tree/Grdient Boosted Regression Tree )以及 Xgboost(eXtreme Gradient Boosting)进行汇总。


集成学习包括boosting 和 bagging,其中boosting是对各个弱学习器串行训练得到的模型,而bagging则是一种并行训练模型的思路;

其中boosting思想是根据错误率来取样(Boosting初始化时对每一个训练例赋相等的权重1/n,然后用该学算法对训练集训练t轮,每次训练后,对训练失败的训练例赋以较大的权重);即最出名的代表算法是Adaboost(Adaptive boosting:自适应提升);GBDT也是boosting思想的杰出代表,Xgboost是对GBDT算法的神级提升优化;从而大范围的在工业界和kaggle中大行其道;

bagging思想是进行有放回的采样(自助采样法),各个弱分类器模型训练集的选择是随机的,各轮训练集之间相互独立(无论特征还是数据集都是相互独立的);即给定m个样本的数据集,先随机取出一个样本放入采样集中,再把该样本放回初始数据集,使得下次采样时该样本仍有机会被采集到,这样经过m次采样,我们得到了有m个样本的采样集(数据集中存在一个数据被多次采样的可能),如此完成一次样本采集,按照该法进行T轮采样,就得到了T个包含m个训练样本的采样集;对于预测结果进行输出时,采用投票法即可;其中RF是该思想的代表算法;


boosting:

    Adaboost算法分析:

  代码示例:

# 生成2维正态分布,生成的数据按分位数分为两类,500个样本,2个样本特征,协方差系数为2

X1, y1 = make_gaussian_quantiles(cov=2.0,n_samples=500, n_features=2,n_classes=2, random_state=1)

# 生成2维正态分布,生成的数据按分位数分为两类,400个样本,2个样本特征均值都为3,协方差系数为2

X2, y2 = make_gaussian_quantiles(mean=(3, 3), cov=1.5,n_samples=400, n_features=2, n_classes=2, random_state=1)

#讲两组数据合成一组数据

X = np.concatenate((X1, X2))

y = np.concatenate((y1, - y2 + 1))

param_test = {'n_estimators':list(range(100,800,50))}

gsearch = GridSearchCV(estimator = AdaBoostClassifier(DecisionTreeClassifier(max_depth=2,min_samples_split=20, min_samples_leaf=5),

                        algorithm="SAMME", learning_rate=0.8),

                      param_grid = param_test, scoring='roc_auc',iid=False, cv=5)

gsearch.fit(X,y)

print(gsearch.grid_scores_,gsearch3.best_params_,gsearch3.best_score_)

最终结果是 best_params:{'n_estimators': 750}

                    best_score:0.9727037037037036

通过网格搜索的方式找到令adaboost方法最优的弱分类器个数,但分类器个数的增多也会带来性能和过拟合等问题,所以需要进行权衡;

未完待续.........................................

相关文章

  • 机器学习集成学习与树家族汇总

    本文会借助对集成学习(Ensemble Learning)的分析,对决策树(Decision Tree)、随机森林...

  • 10.machine_learning_model_ensemb

    机器学习集成学习与boosting模型 机器学习中的集成学习 顾名思义,集成学习(ensemble learnin...

  • 3.1.1.8 集成学习

    集成学习 原理 《机器学习》周志华 8.1 个体与集成 集成学习(ensemble learning) 通过构建并...

  • 机器学习框架及算法汇总

    机器学习知识架构汇总 机器学习算法汇总

  • 集成学习

    集成学习与个体学习器 集成学习是机器学习中常用的一种方法,常用的集成学习方法有boosting,bagging以及...

  • 机器学习汇总,珍藏版!

    机器学习汇总,珍藏版! 原创2018-03-06昱良机器学习算法与Python学习 机器学习系列阶段总结! 1.机...

  • 梯度提升树(GBDT)

    sklearn机器学习库 集成学习(ensemble learning) 集成学习并非某一种机器学习算法,更像是一...

  • ROC-AUC 曲线以及PRC曲线

    目录:机器学习常见面试问题汇总问题汇总(1):逻辑回归问题汇总(2):支持向量机问题汇总(3):树模型问题汇总(4...

  • 《Scikit-Learn与TensorFlow机器学习实用指南

    第7章 集成学习与随机森林 来源:ApacheCN《Sklearn 与 TensorFlow 机器学习实用指南》翻...

  • 机器学习(8)

    本章节是对我学习完机器学习(周志华)第八章 所做出来的总结 第八章 集成学习 8.1 个体与集成 集成学习:通过构...

网友评论

      本文标题:机器学习集成学习与树家族汇总

      本文链接:https://www.haomeiwen.com/subject/ffesgxtx.html