11

我正在尝试应用 Scikit learn 中的 SVM 对我收集的推文进行分类。因此,将有两个类别,分别命名为 A 和 B。现在,我将所有推文分类在两个文本文件中,“A.txt”和“B.txt”。但是,我不确定 Scikit Learn SVM 要求什么类型的数据输入。我有一个带有标签(A 和 B)作为键的字典和一个特征字典(一元组)和它们的频率作为值。抱歉,我对机器学习真的很陌生,不知道应该怎么做才能让 SVM 工作。我发现 SVM 使用 numpy.ndarray 作为其数据输入的类型。我需要根据自己的数据创建一个吗?应该是这样的吗?

Labels    features    frequency
  A        'book'        54
  B       'movies'       32

任何帮助表示赞赏。

4

1 回答 1

21

查看有关文本特征提取的文档。

也看看文本分类的例子

这里还有一个教程:

http://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_data.html

特别是不要过多地关注 SVM 模型(特别sklearn.svm.SVC是对于内核模型来说这不是更有趣,因此不是文本分类):一个简单的感知器、LogisticRegression 或伯努利朴素贝叶斯模型可能工作得一样好,同时训练速度要快得多。

于 2012-12-18T22:59:58.253 回答