我用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)]
依此类推...
答案 0 :(得分:0)
因为在几乎所有的ml算法中,位数训练和推理步骤中都存在一些随机性。
这个问题已经被问过了,所以下次您可以用谷歌搜索并快速找到答案(:
LDA model generates different topics everytime i train on the same corpus
答案 1 :(得分:0)
要实现可重复性,您需要为random_state
构造函数指定LdaModel
参数: