我从理论上(某种程度上)了解它们将如何工作,但不确定如何实际使用集成方法(例如投票、加权混合等)。
- 什么是实现集成方法的好资源?
- 是否有任何关于 Python 实现的特定资源?
编辑:
为了根据评论的讨论澄清一些问题,我不是在寻找诸如 randomForest 等集成算法。相反,我想知道如何将不同算法的不同分类结合起来。
例如,假设有人使用逻辑回归、SVM 和其他一些方法来预测某个观察的类别。根据这些预测来获取类的最佳估计的最佳方法是什么?
我从理论上(某种程度上)了解它们将如何工作,但不确定如何实际使用集成方法(例如投票、加权混合等)。
编辑:
为了根据评论的讨论澄清一些问题,我不是在寻找诸如 randomForest 等集成算法。相反,我想知道如何将不同算法的不同分类结合起来。
例如,假设有人使用逻辑回归、SVM 和其他一些方法来预测某个观察的类别。根据这些预测来获取类的最佳估计的最佳方法是什么?
“数据挖掘中的集成方法:通过组合预测提高准确性”,Seni 和 Elder——实用集成理论和实现的优秀参考,但随附的代码是基于 R 的。
“机器学习:算法视角”,S. Marsland——优秀的基于 Python 的实用文本,但不像第一个参考文献那样专注于纯粹的集成概念。
Sumpy Joe Pete 的回答非常完美,但既然您提到了 Python 实现,我想提一下 Universidade Federal de Pernambuco 的brew项目。
https://github.com/viisar/brew
from brew.base import Ensemble
from brew.base import EnsembleClassifier
from brew.combination import import Combiner
# create your Ensemble
clfs = your_list_of_classifiers # [clf1, clf2]
ens = Ensemble(classifiers = clfs)
# create your Combiner
# the rules can be 'majority_vote', 'max', 'min', 'mean' or 'median'
comb = Combiner(rule='majority_vote')
# now create your ensemble classifier
ensemble_clf = EnsembleClassifier(ensemble=ens, combiner=comb)
ensemble_clf.predict(X)
此时,它们具有集成生成、组合、修剪和动态选择。
限制:仅分类;当前公开版本中没有堆叠;没有太多的文档。
Salford Systems 有一个名为 Random Forests 的软件包,它为分类和回归树集成实现了这一点。我没有任何免费的 R 包可以提供。我想他们有一个用户手册来解释他们的实现。以此类推,您可能会弄清楚如何为其他集成方法做到这一点。