4

我有一个相当有限的数据集,我正在使用 scikit-learn执行监督学习、多类文本分类。为了稍微缓解信息短缺,我想做以下事情:

  1. 从我要分类的内容中提取 ngrams,将其与内容的 unigrams 合并并执行分类

  2. 实施(或使用现有实施)基于投票的集成分类器以提高分类准确性。例如,多项式贝叶斯和 KNN 似乎对不同的类都给出了很好的结果:理想情况下,我会将它们结合起来,这样我的性能会稍微好一点(希望不会更差),而不是使用我有限的 ~50% 的劣质数据集。

虽然第一步很简单,但我找不到太多关于如何使用 scikit-learn 进行集成分类的信息。我注意到 scikit-learn 有一些关于 ensemble 类的条目,比如这个,但它似乎并不是我想要的。

有谁知道使用 scikit-learn 执行此操作的具体示例?

4

1 回答 1

2

我也为这个问题而苦苦挣扎。经过大量实验后,我发现在 sci-kit 中进行集成分类的最佳方法是平均每个训练模型的 clf.predict_proba(X) 值。从长远来看,平均值(50 次或更多)的表现优于任何单个模型

如果您可以保证您的某些训练模型比其他模型更强大,您可能还需要考虑使用加权平均值或多武装老虎机集成方法。

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

于 2015-02-15T22:26:49.167 回答