python - 为什么同一迭代的不同运行会产生不同的结果?
问题描述
我用 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)]
等等...
解决方案
要实现可重现性,您需要指定构造函数的random_state
参数LdaModel
:
推荐阅读
- android - 获取 RecyclerView 中的每个 FrameLayout div 元素
- javascript - 如何在 JavaScript 中生成十六进制二进制数据的 sha256 哈希?
- javascript - IE - 如何在提交表单后禁用输入验证检测?
- python - 我不能使用 celery 任务
- python - 我希望它在不是 0 或 1 时给我错误
- amazon-web-services - 如何确保每个 aws lambda 的不同公共 IP
- c++ - 在 Release 中作为 QImage 加载时,相同的图像具有不同的像素数据
- oracle - 使用 Jenkins 构建和部署 Oracle Forms 10g?
- android - 无法从 Ubuntu 18.10 访问 Redmi Note 5 Pro
- android - 将 .jar 依赖项添加到 Java 库模块 Android Studio