如何使用NLTK BigramAssocMeasures.ch_sq

问题描述 投票:1回答:1

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

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

python nlp classification nltk
1个回答
3
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.