为什么同一迭代的不同运行会产生不同的结果?

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

我用Gensim LDA模型创建了具有文档主题概率的字典。字典上的每次迭代(即使使用相同的精确代码)也会产生稍有不同的值。为什么是这样? (请注意,将相同的代码复制并粘贴到另一个jupyter单元中时)

for r in doc_topics[:2]:
    print(r)

第一次产生:

[(5, 0.46771166), (8, 0.09964698), (12, 0.08084056), (55, 0.16801219), (58, 0.07947531), (97, 0.04642806)]
[(8, 0.7273078), (69, 0.06939292), (78, 0.062151615), (101, 0.119957164)]

第二次运行产生:

[(5, 0.47463417), (8, 0.105600394), (12, 0.06531593), (55, 0.16066092), (58, 0.06662597), (97, 0.054465853)]
[(8, 0.7306167), (69, 0.054978732), (78, 0.06831972), (84, 0.025588958), (101, 0.10244013)]

第三:

[(5, 0.4771855), (8, 0.09988891), (12, 0.088423), (55, 0.15682992), (58, 0.058175407), (97, 0.053951494)]
[(8, 0.75193375), (69, 0.059308972), (78, 0.0622621), (84, 0.020040851), (101, 0.09659243)]

依此类推...

python pandas loops gensim lda
1个回答
0
投票

由于几乎每个ml算法中,bith训练和推理步骤中都存在一些随机性。

之前已经问过这个问题,因此下次您可以在Google上搜索并快速找到答案(:

LDA model generates different topics everytime i train on the same corpus


0
投票

为了实现可重复性,您需要为random_state构造函数指定LdaModel参数:

https://radimrehurek.com/gensim/models/ldamodel.html

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