带有包装方法的集成分类器

Posted

技术标签:

【中文标题】带有包装方法的集成分类器【英文标题】:Ensemble classifier with wrapper method 【发布时间】:2012-11-05 21:51:53 【问题描述】:

我正在尝试使用集成学习(viting、stacking ...等)组合多个分类器(ANN、SVM、kNN、...等)。

为了制作分类器,我使用了 20 多种解释变量。 然而,每个分类器都有解释变量的最佳子集。因此,在包装方法中为每个分类器寻找解释变量的最佳组合, 我想使用集成学习(viting、stacking ...等)组合多个分类器(ANN、SVM、kNN、...等)。

通过使用 weka 的元学习,我应该能够使用集成本身。 但是由于 wrapper 方法总结了每个分类器的预测,我无法获得解释变量的最佳组合。

如果可以在 matlab 或 R 中更容易解决,我不会坚持使用 weka。

【问题讨论】:

1) 发布一个清晰的问题......不是猜测。 2) 如果您需要帮助解决问题,请提供您的代码。 SO是为了解决问题。不是智囊团。 【参考方案1】:

使用集成方法,使用非常简单的分类器可以获得最佳结果。另一方面,这可以相当快,以弥补整体成本。

起初这似乎违反直觉:人们会期望更好的输入分类器产生更好的输出。但是,这不起作用有两个原因。

首先,对于简单的分类器,您通常可以对它们进行更多调整,以获得一组多样化的输入分类器。全维方法 + 特征 bagging 为您提供了多样化的分类器。内部进行特征选择或减少的分类器使得特征装袋在很大程度上无法获得多样性。其次,像 SVM 这样的复杂方法更有可能优化/收敛到相同的结果。毕竟,复杂的方法应该经过一个更大的搜索空间,并在这个搜索空间中找到最好的结果。但这也意味着,您更有可能再次获得相同的结果。 最后但并非最不重要的一点是,当使用非常原始的分类器时,错误表现得更好,并且更有可能在集成组合上变得更均匀。

【讨论】:

感谢您的礼貌回答!抱歉回复晚了。

以上是关于带有包装方法的集成分类器的主要内容,如果未能解决你的问题,请参考以下文章

集成方法

集成方法

带有 scikit-learn 的英特尔 daal4py 分类器

如何在 sklearn 的集成分类器中使用自定义分类器?

机器学习之集成学习和随机森林

机器学习—集成学习