我正在尝试从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
感谢任何帮助。
答案 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或伯努利朴素贝叶斯模型可能效果很好而且训练要快得多。