【问题标题】:Naive Bayes, Text Analysis, SKLearn朴素贝叶斯、文本分析、SKLearn
【发布时间】:2020-02-28 18:36:06
【问题描述】:

这是来自使用烂番茄数据的文本分析练习。数据在critics.csv 中,作为pandas DataFrame “critics”导入。

这部分练习是为了

构造文档频率的累积分布 (df)。 这 ???? -axis 是文档计数 (????????) 和 ???? -轴是 出现少于 (??????????) 次的单词的百分比。例如, 在 ????=5 处,绘制一个表示单词百分比或数量的点 出现在 5 个或更少的文档中。

在之前的练习中,我有一个“词袋”

from sklearn.feature_extraction.text import CountVectorizer

vectorizer = CountVectorizer()

# build the vocabulary and transform to a "bag of words"
X = vectorizer.fit_transform(critics.quote)

# Convert matrix to Compressed Sparse Column (CSC) format
X = X.tocsc()  

我发现的 Evey 样本以这种方式从“词袋”矩阵中计算每个词的文档矩阵:

docs_per_word = X.sum(axis=0) 

我相信这行得通;我看过结果。

但我对实际发生的事情以及它为什么起作用、总结了什么以及我如何能够弄清楚如何做到这一点而不需要查看其他人做了什么感到困惑。

【问题讨论】:

    标签: python scikit-learn nlp naivebayes


    【解决方案1】:

    我昨晚想通了。它实际上不起作用;我误解了结果。 (我认为它正在运作,因为Jupyter笔记本电脑只在一个大的数组中显示几个值。但是,更接近地检查,数组值太大。阵列中的最大值大于“文档”的数量。

    x(我的“袋单词)是一个字频率向量。求x求和提供有关每个单词在文档语料库中发生的频率的信息。但是对于单词出现的文档的说明(例如,0 4个文件4),而不是在这些文档集中出现的次数(0 - n为四个文件)。

    我需要将 X 转换为布尔矩阵。 (现在我只需要弄清楚如何做到这一点。;-)

    【讨论】:

      猜你喜欢
      • 2018-12-24
      • 2018-12-15
      • 2016-08-02
      • 2018-07-29
      • 2015-03-06
      • 2013-12-24
      • 2015-08-27
      • 2019-04-01
      • 2021-10-18
      相关资源
      最近更新 更多