上篇只涉及一个单一的集成方法:随机森林(RF)。RF 作为一个顶级的分类器,在过去几年中取得了巨大的成功,但它肯定不是唯一的集成分类器。我们将看看包装、提升和投票。
给我一个提升 首先,阅读这些集成学习器的概述,第一个是通用性的;第二个是它们与 Scikit-learn 有关: 集成学习器介绍,作者 Matthew Mayo。地址: Scikit-learn 中的集成方法,Scikit-learn 文档。地址: 然后,在继续使用新的集成方法之前,请通过一个新的教程快速学习随机森林: Python 中的随机森林,来自 Yhat。地址: 包装、提升和投票都是不同形式的集成分类器,全部涉及建构多个模型; 然而,这些模型由什么算法构建,模型使用的数据,以及结果如何最终组合起来,这些都会随着方案而变化。 包装:从同一分类算法构建多个模型,同时使用来自训练集的不同(独立)数据样本——Scikit-learn 实现包装分类器 提升:从同一分类算法构建多个模型,一个接一个地链接模型,以提高每个后续模型的学习——Scikit-learn 实现 AdaBoost 投票:构建来自不同分类算法的多个模型,并且使用标准来确定模型如何最好地组合——Scikit-learn 实现投票分类器 那么,为什么要组合模型?为了从一个特定角度处理这个问题,这里是偏差-方差权衡的概述,具体涉及到提升,以下是 Scikit-learn 文档: 单一评估器 vs 包装:偏差-方差分解,Scikit-learn 文档。地址: 现在你已经阅读了关于集成学习器的一些介绍性材料,并且对几个特定的集成分类器有了基本了解,下面介绍如何从 Machine Learning Mastery 中使用 Scikit-learn 在 Python 中实现集成分类器: 使用 Scikit-learn 在 Python 中实现集成机器学习算法,作者 Jason Brownlee。地址: 第5步:梯度提升 下一步我们继续学习集成分类器,探讨一个当代最流行的机器学习算法。梯度提升最近在机器学习中产生了显著的影响,成为了 Kaggle 竞赛中最受欢迎和成功的算法之一。
给我一个梯度提升 首先,阅读梯度提升的概述: 维基百科条目:梯度提升。地址: 接下来,了解为什么梯度提升是 Kaggle 竞赛中「最制胜」的方法: 为什么梯度提升完美解决了诸多 Kaggle 难题?Quora,地址: Kaggle 大师解释什么是梯度提升,作者 Ben Gorman。地址: 虽然 Scikit-learn 有自己的梯度提升实现,我们将稍作改变,使用 XGBoost 库,我们提到过这是一个更快的实现。 以下链接提供了 XGBoost 库的一些额外信息,以及梯度提升(出于必要): 维基百科条目:XGBoost。地址: Ghub 上的 XGBoost 库。地址: XGBoost 文档。地址: 现在,按照这个教程把所有汇聚起来: Python 中 XGBoost 梯度提升树的实现指南,作者 Jesse Steinweg-Woods。地址: 你还可以按照这些更简洁的示例进行强化: XGBoost 在 Kaggle 上的示例(Python)。地址: Iris 数据集和 XGBoost 简单教程,作者 Ieva Zarina。地址: 第6步:更多的降维 降维是通过使用过程来获得一组主变量,将用于模型构建的变量从其初始数减少到一个减少数。 有两种主要形式的降维: 1. 特征选择——选择相关特征的子集。地址: 2. 特征提取——构建一个信息性和非冗余的衍生值特征集。地址: 下面是一对常用的特征提取方法。 (责任编辑:本港台直播) |