python - 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”中。
解决方案
推荐阅读
- javascript - 我怎样才能在我的代码中只显示我想要的文本?
- oracle - 带有 UPDATE OF 的 Oracle 触发器(列名与表相同)
- c++ - 如何在 C++ 中创建一个空向量?
- c# - 如何打开从 Visual Studio 2019 创建的解决方案文件到使用 Visual Studio 2017 的不同计算机?
- python - 如何编写两个同名的类
- tensorflow - 计算 TensorFlow 中多个类的平均和分类精度/召回率
- python - Google AppEngine - 使用 max_concurrent_requests 设置为 1 的队列:由于超过了请求截止日期,进程终止
- c# - 文本中单词出现的正则表达式
- stream - 通过 VLC 流式传输桌面
- c# - 如何使用受约束的泛型类型参数将类实例化为其派生的接口