Scikit学习 - 如何使用SVM和随机森林进行文本分类?

Cri*_*a23 5 python classification machine-learning scikit-learn

我有一套trainFeatures和一组testFeatures带有正面,中性和负面标签:

trainFeats = negFeats + posFeats + neutralFeats
testFeats  = negFeats + posFeats + neutralFeats
Run Code Online (Sandbox Code Playgroud)

例如,trainFeatsis 里面有一个条目

(['blue', 'yellow', 'green'], 'POSITIVE') 
Run Code Online (Sandbox Code Playgroud)

对于测试功能列表也是如此,因此我为每个集指定了标签.我的问题是如何使用随机森林分类器和SVM的scikit实现来获得这个分类器的准确性与每个类的精确度和召回分数?问题是我目前正在使用单词作为功能,而从我读到的这些分类器需要数字.有没有办法在不改变功能的情况下实现我的目的?非常感谢!

dnl*_*nll 10

您可以查看这个scikit-learn教程,尤其是关于学习和预测如何创建和使用分类器的部分.该示例使用SVM,但是使用RandomForestClassifier很简单,因为所有分类器都实现了fitpredict方法.

使用文本功能时,您可以使用CountVectorizerDictVectorizer.看一下特征提取,特别是4.1.3节.

您可以在此处找到用于对文本文档进行分类的示例.

然后,您可以使用分类报告获得分类器的精确度和召回率.