【问题标题】:How to use NLTK BigramAssocMeasures.ch_sq如何使用 NLTK BigramAssocMeasures.ch_sq
【发布时间】:2013-03-02 08:14:03
【问题描述】:

我有单词列表,我想通过考虑它们的共现来计算两个单词的相关性。从一篇论文中我发现它可以使用皮尔森卡方检验来计算。我还发现nltk.BigramAssocMeasures.ch_sq() 用于计算卡方值。

我可以用它来满足我的需要吗?如何使用 nltk 找到卡方值?

【问题讨论】:

    标签: python nlp classification nltk


    【解决方案1】:

    看看this blog from Streamhacker,它通过代码示例给出了很好的解释。

    信息增益的最佳指标之一是卡方。 NLTK 将此包含在度量包的 BigramAssocMeasures 类中。要使用它,首先我们需要为每个单词计算几个频率:它的整体频率和它在每个类别中的频率。这是通过一个 FreqDist 来完成单词的整体频率,以及一个 ConditionalFreqDist 来完成的,其中条件是类标签。一旦我们有了这些数字,我们就可以使用 BigramAssocMeasures.chi_sq 函数对单词进行评分,然后按分数对单词进行排序并取前 10000 个单词。然后我们将这些单词放入一个集合中,并在我们的特征选择函数中使用集合成员资格测试来仅选择出现在集合中的那些单词。现在每个文件都根据这些高信息词的存在进行分类。

    【讨论】:

      猜你喜欢
      • 2012-09-12
      • 2018-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-16
      相关资源
      最近更新 更多