如何在 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 邻居分类器中的数据集添加一些噪声