logistic回归\svm在mahout中的实现

xn1cxnb4  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(392)

我目前正在为一家电信公司的twitter数据进行情感分析,我正在将数据加载到hdfs中,并使用mahout的naivebayes分类器来预测积极、消极或中性的情感。
这就是我要做的
我正在为机器提供训练数据(关键:情绪,value:text) .
利用mahout库计算文本的tf-idf(逆文档频率),生成特征向量。
mahout seq2sparser-i/user/root/new\u model/dataseq--maxdfpercent 1000000--minsupport 4--maxngramsize 2-a org.apache.lucene.analysis.whitespaceanalyzer-o/user/root/new\u model/predicted
将数据拆分为训练集和测试集。
我传递给naivebayes算法来建立模型的特征向量。
mahout trainnb-i/user/root/new\u model/train vectors-el-li/user/root/new\u model/labelindex-o/user/root/new\u model/model-ow-c
利用这个模型,我可以预测新数据的情绪。
这是我正在做的非常简单的实现,通过这个实现,我得到了非常低的精度,即使我有很好的训练集。所以我想改用logistic回归/svm,因为它们对这类问题给出了更好的结果。
所以我的问题是,如何使用这两种算法来构建模型或预测tweet的情绪。我需要采取什么步骤来实现这一点?

dwbf0jvd

dwbf0jvd1#

尝试使用crossfoldlearner,但我怀疑它是否需要naïve bayes作为学习模型,我不久前只使用了逻辑回归。或者希望你能用na写你自己的crossfoldlearnerï作为学习者的ve bayes。我也不认为改变算法会大大改善结果。这意味着您必须仔细查看分析器以进行标记化。也许可以考虑使用bigram标记化,而不是只使用unigram标记。你有没有考虑过语音,因为大多数twitter单词都不是来自字典。

相关问题