我该如何使用scikit-learn进行集成(多分类器)分类?

4
我正在使用scikit-learn进行有监督学习的多类文本分类,但我的数据集相对较小。为了稍微缓解信息不足的问题,我想执行以下操作:
1.从我要分类的内容中提取ngrams,将其与内容的unigrams合并,并执行分类。
2.实现(或使用现有实现)基于投票的集成分类器以提高分类准确性。例如,Multinomial Bayes和KNN似乎分别适用于不同的类别:理想情况下,我会将它们结合起来,以获得略微更好(希望不是更差)的性能,而不是使用有限的数据集只能获得约50%的劣质结果。
虽然第一步很简单,但我找不到如何使用scikit-learn进行集成分类的详细信息。我注意到scikit-learn有一些有关集成类的条目,例如此链接,但它似乎不完全符合我的要求。
是否有人知道如何在scikit-learn中具体执行这个任务的例子?

我认为scikit learn本身无法完成这个任务。有几种方法可以将多个分类器的输出组合起来。如果您发布一个期望输入和输出的示例,有人可以帮助您实现它。 - elyase
1个回答

2
我也曾为这个问题苦苦挣扎。经过多次尝试,我发现在sci-kit中进行集成分类的最佳方法是对每个训练模型的clf.predict_proba(X)值进行平均。长期来看(50次或更多次运行),平均值的表现优于任何单个模型。
如果你能保证一些训练模型比其他模型更强大,你可能还想考虑使用加权平均或多臂老虎机集成方法。

http://en.wikipedia.org/wiki/Multi-armed_bandit


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接