Python:NLTK ValueError:Lidstone概率分布必须至少有一个bin?

Python:NLTK ValueError:Lidstone概率分布必须至少有一个bin?,python,nltk,probability,Python,Nltk,Probability,对于一项任务,我将使用ConditionalProbDist,使用LidstoneProbDist作为估计器,将每个箱子的样本数加上+0.01 我认为下面的代码行可以实现这一点,但它会产生一个值错误 fd = nltk.ConditionalProbDist(fd,nltk.probability.LidstoneProbDist,0.01) 我不知道如何在ConditionalProbDist中设置参数的格式,也没有通过python的帮助功能或google找到如何设置参数的方法,因此如果有人

对于一项任务,我将使用ConditionalProbDist,使用LidstoneProbDist作为估计器,将每个箱子的样本数加上+0.01

我认为下面的代码行可以实现这一点,但它会产生一个值错误

fd = nltk.ConditionalProbDist(fd,nltk.probability.LidstoneProbDist,0.01)

我不知道如何在ConditionalProbDist中设置参数的格式,也没有通过python的帮助功能或google找到如何设置参数的方法,因此如果有人能纠正我的错误,我将不胜感激

您可能不再需要这个了,因为这个问题已经很老了,但是您仍然可以在lambda的帮助下将LidstoneProbDist参数传递给ConditionalProbDist:

estimator = lambda fdist, bins: nltk.LidstoneProbDist(fdist, 0.01, bins)
cpd = nltk.ConditionalProbDist(fd, estimator, bins)

您可能不再需要这个问题,因为这个问题已经很老了,但是您仍然可以在lambda的帮助下将LidstoneProbDist参数传递给ConditionalProbDist:

estimator = lambda fdist, bins: nltk.LidstoneProbDist(fdist, 0.01, bins)
cpd = nltk.ConditionalProbDist(fd, estimator, bins)
我在NLTK网站上找到了非常有用的参考资料

如上所述,使用lambda表达式是一个好主意,因为
ConditionalProbDist
将动态生成传递给估计器的频率分布(
nltk.FreqDist

更微妙的一点是,如果您不知道输入样本中最初有多少个箱子,则无法通过bins参数!但是,
FreqDist
的可用存储箱数量为
FreqDist.B()
()

而是使用
FreqDist
作为lambda的唯一参数:

from nltk.probability import *
# ...

# Using the given parameters of one extra bin and a gamma of 0.01
lidstone_estimator = lambda fd: LidstoneProbDist(fd, 0.01, fd.B() + 1)
conditional_pd = ConditionalProbDist(conditional_fd, lidstone_estimator)
我知道这个问题现在已经很老了,但我也很难找到文档,所以我在这里记录它,以防其他人遇到类似的问题

祝(与fnlp)好运

我在NLTK网站上找到了非常有用的参考资料

如上所述,使用lambda表达式是一个好主意,因为
ConditionalProbDist
将动态生成传递给估计器的频率分布(
nltk.FreqDist

更微妙的一点是,如果您不知道输入样本中最初有多少个箱子,则无法通过bins参数!但是,
FreqDist
的可用存储箱数量为
FreqDist.B()
()

而是使用
FreqDist
作为lambda的唯一参数:

from nltk.probability import *
# ...

# Using the given parameters of one extra bin and a gamma of 0.01
lidstone_estimator = lambda fd: LidstoneProbDist(fd, 0.01, fd.B() + 1)
conditional_pd = ConditionalProbDist(conditional_fd, lidstone_estimator)
我知道这个问题现在已经很老了,但我也很难找到文档,所以我在这里记录它,以防其他人遇到类似的问题

祝(与fnlp)好运