唐宇迪《python数据分析与机器学习实战》学习笔记
13集成算法与随机森林
竞赛题使用较多中准确率较高,三种集成算法
1.Bagging模型
(并形算法)
并行训练多棵树,结果累加取平均。随机森林构造了N棵树,最终结果把树进行分类取众数。
二重随机性:数据采样随机性(例如100个有放回选60-80个),特征随机性(寻则部分特征)
feature比较原理,举例:比如ABCD四个特征,B为年龄(36、27、65…),用着四个特征建模错误率为err1;后面对B特征进行破坏加上噪音,替换为垃圾值(0.1、68…),然后继续用这四个特征建模,错误率为err2; 如果err1=err2,则B特征没啥用。如果err2>>err1,则B重要。最后特征的重要性排序如上图右下角。
其他算法的Bagging模型,例如KNN模型缺点比较明显。公认的集成算法还是是上面的树模型。
树模型的树数量对效果的影响,数量增加效果浮动。(虽然理论上数量越多泛化能力越强)
2. Boosting模型
(串形算法)
从弱学习器开始,例如实际1000,第一棵A树预测950,差异50,让这个50值越小越好;第二棵B树,为了弥补50误差,就预测残差50,可能预测为30;第三棵C树,1000-950-30=20,就预测残差20,可能预测为18.最终预测值为998,实际为1000.
典型代表:AdaBoost,Xgboost。前者举例如下图右边,例如12345号预测都为0.2,3号预测错了,那么第二次就调整权重策略,重视3号降低其他重视度,然后每次慢慢调整。权重越大越重视,切分时朝着这个节点切分。
3.Stacking模型
(不折手段)
例如下面:第一阶段用4个分类器每个特征值得到4个值,相当于特征值转为分类结果;第二阶段分类结果值当成特征输入,然后得到结果。
来源:CSDN
作者:小食青年
链接:https://blog.csdn.net/qq_45425321/article/details/104748046