【发布时间】:2018-12-01 20:57:23
【问题描述】:
预处理我们的 Twitter 文本以在二进制类之间进行分类的重要步骤是什么。我所做的是我删除了标签并保留它没有标签,我还使用了一些正则表达式来删除特殊字符,这是我使用的两个函数。
def removeusername(tweet):
return " ".join(word.strip() for word in re.split('@|_', tweet))
def removingSpecialchar(text):
return ' '.join(re.sub("(@[A-Za-z0-9]+)|([^0-9A-Za-z \t])|(\w+:\/\/\S+)"," ",text).split())
还有什么可以预处理文本数据。我还使用 nltk 停用词语料库从标记词中删除所有停用词。
我在 textblob 中使用 NaiveBayes 分类器来训练数据,我在训练数据上获得了 94% 的准确率,在测试数据上获得了 82% 的准确率。我想知道是否有任何其他方法可以获得良好的准确性。顺便说一句,我是这个机器学习领域的新手,我对这一切的了解有限!
【问题讨论】:
-
您使用的是 tf-idf 模型(词袋)还是一些基于嵌入向量的技术?
-
不,我没有使用 tf-idf,我只是使用 CountVectorizer 来提取特征!是否必须使用 tf-idf?
标签: python machine-learning textblock text-classification naivebayes