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

Posted

技术标签:

【中文标题】如何在 sklearn 的集成分类器中使用自定义分类器?【英文标题】:How to use custom classifiers in ensemble classifiers in sklearn? 【发布时间】:2012-05-18 02:24:46 【问题描述】:

我读到 sklearn 中的内置集成方法使用决策树作为基础分类器。是否可以改用自定义分类器?

【问题讨论】:

【参考方案1】:

如果您指的是随机森林类,那么不,这目前是不可能的。去年 1 月在 scikit-learn 邮件列表中讨论了允许其他估算器的选项,但我认为没有任何实际代码出现在讨论中。

【讨论】:

【参考方案2】:

如果你使用sklearn.ensemble.AdaBoostClassifier,那么答案是肯定的: scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html 您可以自己分配 base_estimator。

【讨论】:

【参考方案3】:

我不知道它是否有帮助,但您可以使用管道实用程序非常轻松地堆叠/组合自定义分类器:http://scikit-learn.org/stable/tutorial/statistical_inference/putting_together.html#pipelining

【讨论】:

管道不是集成方法。它们仅将单个分类器与一系列预处理步骤相结合。 是的,你是对的。但我的意思是,使用 Pipelining 和 FeatureUnion 可以一起使用,在几行代码中组合同构或异构模型。例如,Rampgithub.com/kvh/ramp 就大量使用了这个原理。

以上是关于如何在 sklearn 的集成分类器中使用自定义分类器?的主要内容,如果未能解决你的问题,请参考以下文章

使用 sklearn 中的 OneVsRestClassifier 将自定义的二元分类调整为多类分类

使用 sklearn.utils.shuffle 向 K 邻居分类器中的数据集添加一些噪声

无法从 sklearn MLP 分类器中获得良好的准确性

SKLearn 包装器中 XGBoost 的决策函数

如何在 sklearn 中使用训练有素的 NB 分类器预测电子邮件的标签?

为分类变量sklearn创建我的自定义Imputer