0

我正在尝试将 scikit 用于 Naive Basyes 分类。我有几个问题(我也是 scikit 的新手)

1) Scikit 算法希望输入为 numpy 数组,标签为数组。在文本分类的情况下,我应该通过维护词汇中的单词散列和与之关联的唯一 id 来将我的每个单词映射到一个数字 (id) 吗?这是 scikit 的标准做法吗?

2)如果将相同的文本分配给多个班级,我应该如何进行。一种明显的方法是为每个相关标签复制每个训练示例。存在更好的表示吗?

3) 同样对于测试数据,我将如何获得与测试相关的多个类?

我使用http://scikit-learn.org/stable/modules/generated/sklearn.naive_bayes.MultinomialNB.html 作为我的基础。

4

1 回答 1

1

1)是的。使用 feature_extraction 模块中的 DictVectorizer 或 HashVectorizer。2)这是一个多标签问题。也许使用 multi_class 模块中的 OneVsRestClassifier。它将为每个类训练一个单独的分类器。3)使用多标签分类器/每个分类一个分类器就可以做到这一点。

看看http://scikit-learn.org/dev/auto_examples/grid_search_text_feature_extraction.htmlhttp://scikit-learn.org/dev/auto_examples/plot_multilabel.html

于 2013-12-07T23:20:19.407 回答