您的位置:首页 > 其它

垃圾评论分类

2016-07-04 16:02 155 查看
一、数据特征准备

1选取汉语词典(包含常用词,姓名等) -> one hot 向量

2选取停用词词典 ->去除停用词的影响

3选取同义词词典 ->增加表达多词同意的能力

4选取比较长的固定搭配词典,比如成语,乐队名字等,增加分词正确率

通过以上词典将每一句评论转换成one hot 向量,作为训练数据与测试验证数据集

二、spark 训练

使用spark的朴素贝叶斯训练数据

import sparl.mllib.classification.NaiveBayes
NBmodel = NaiveBayes.train(train_data)


三、在测试集上预测

result = NBmodel.predict(test_data)


四、评估模型

非垃圾评论被识别为非垃圾被识别为垃圾
3500034800200
垃圾评论被识别为垃圾被识别为非垃圾
1000083001700
非垃圾识别精准率:P=3480035000=99.4%

垃圾识别精准率:P=830010000=83%

因为要识别的是垃圾评论,所以设

postive:垃圾评论

negative:非垃圾评论

则:

TP :8300

FN:1700

FP:200

TN:34800

准确率:

P=TPTP+FP=97.6%

召回率:

R=TPTP+FN=92.2%

并且使用mllib.evalution.BinaryClassficationMetrics类,计算ROC面积AUC值共同评估模型。

五、模型参数调优

1、增加迭代次数

2、减少学习率,或者使用学习率衰减方法

3、加入正则化,如果模型可加

同样通过AUC值来判断参数优劣,使用交叉验证集来判断
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息