使用Scikit Learn SVM准备文本分类数据

时间:2012-12-18 22:46:15

标签: python svm scikit-learn

我正在尝试从Scikit应用SVM学习对我收集的推文进行分类。 因此,将有两个类别,命名为A和B. 现在,我将所有推文分为两个文本文件“A.txt”和“B.txt”。 但是,我不确定Scikit Learn SVM要求的数据输入类型。 我有一个字典,标签(A和B)作为其键和特征字典(unigrams)及其频率作为值。 对不起,我是机器学习的新手,不知道如何让SVM工作。 我发现SVM使用numpy.ndarray作为其数据输入的类型。我是否需要根据自己的数据创建一个? 它应该是这样的吗?

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

感谢任何帮助。

1 个答案:

答案 0 :(得分:21)

查看text feature extraction上的文档。

另请查看text classification example

这里还有一个教程:

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

特别是不要过多关注SVM模型(尤其不是sklearn.svm.SVC对内核模型更有趣,因此不是文本分类):简单的Perceptron,LogisticRegression或伯努利朴素贝叶斯模型可能效果很好而且训练要快得多。