我有一个有标签的产品评论数据集,其中标签是介于1到5之间的评级,而评审只是文本。我使用一个简单的朴素贝叶斯分类器(sklearn)来尝试预测一个评估结果,这个评价相当好(~65%的准确率--我希望这是不错的,因为有5个类,而我只使用一个朴素的Bayes?)
classifier = Pipeline([('vec', CountVectorizer()), ('clf', MultinomialNB())])
classifier.fit(x_train, y_train)
predicted = classifier.predict(x_test)
accuracy = accuracy_score(y_test, predicted) # ~65%无论如何,我想做的是构建一个分类器,它能很好地预测一个评论是否有4或5的评级。我并不关心分类器对4或5以外的评分有什么影响。
我的想法是
然而,这两种方法都毫无帮助,四班和五班的F分没有提高.对于这两个类,我能做些什么来使分类器更好呢?
发布于 2021-09-22 14:08:28
最好的方法是删除所有未标记为4或5的数据。
然后重新运行所有的步骤。重新做火车/测试拆分和重新培训整个管道从零,包括CountVectorizer。
https://datascience.stackexchange.com/questions/31761
复制相似问题