基于机器学习的NLP情感分析(二)---- 分类问题

来源:互联网 发布:andreja pejic 知乎 编辑:程序博客网 时间:2024/04/29 07:57

基于机器学习的NLP情感分析(二)—- 分类问题

前文提到了如何把一个文本转换为相应的词向量,本文讨论的是如何进行分类。

feature相关性

首先,需要看看我之前选出来的feature,是否能够满足需求。

Stary 2017-07-18 at 8.44.44 P

这里其实有很多参数没有显示出来。从该图来看,大部分的参数相关性是非常低的,这是一件非常好的事情,因为这说明选出来的参数具有更大表现力。但也发现有一些参数是重复的,这个比较尴尬。当然可以采用PCA过滤掉就好。

Stary 2017-07-18 at 8.45.58 P

从此图来看,每一个参数都对sentiment有一定的影响,大部分都有比较强的相关性,这说明选出来的参数并不是随便乱选的。

模型选择

这里我选择了一些比较常见的算法模型来进行训练,并试图去获得相对较好的model。
这里采用Kfold函数来循环测试模型,并且用f1 Score来选择最合适的model。

SVC: 0.697422 (+/- 0.044767)AdaBoostClassifier: 0.701619 (+/- 0.055826)RandomForestClassifier: 0.728934 (+/- 0.043483)RandomForestClassifier: 0.728934 (+/- 0.043483)LinearSVC: 0.755798 (+/- 0.043480)KNeighborsClassifier: 0.666486 (+/- 0.066893)GaussianNB: 0.729580 (+/- 0.049237)Perceptron: 0.728920 (+/- 0.034399)SGDClassifier: 0.735260 (+/- 0.052218)DecisionTreeClassifier: 0.693174 (+/- 0.053145)LogisticRegression: 0.759676 (+/- 0.044828)

这里我觉得LinearSVC相对比较好。

至此就没有别的了。

完整代码见NLP-JD

阅读全文
0 0
原创粉丝点击