首页 > 解决方案 > TextBlob NaiveBayesClassifier 总是返回 1

问题描述

我正在研究一个数据科学课程的项目,该课程根据用户定义的搜索词抓取流行的新闻网站,并返回每个网站倾向于保守/自由的程度。我在使用 TextBlob 时遇到了问题,我的 NaiveBayesClassifier 总是返回 1。

我的训练集包括 28 篇标记为“保守派”的文章,26 篇标记为“自由派”的文章。实例化我的分类器(cl)后,我运行

print(cl)
print(cl.show_informative_features(10))

返回

在此处输入图像描述

由于“限制”一词的使用存在如此大的偏差,因此我将其用作一个简单的测试:

print(cl.prob_classify('restrictions').prob('conservative')  # 1.0

令我惊讶的是,这个词以 100% 的概率被归类为“保守”!事实上,每一个单词、短语、文章等,我都尝试以 100% 的保守概率对回报进行分类。

谁能阐明我做错了什么?cl.show_informative_features 返回一个“无”——这有什么意义吗?

编辑:我正在尝试制作一个较小的示例,但目前我的 GitHub 存储库位于https://github.com/jpbic/news_scraper。只需运行“text_analysis.py”。用于训练分类器的 CSV 数据位于“data/news_scraper_data.csv”中。

标签: pythondata-sciencetextblob

解决方案


推荐阅读