【发布时间】:2016-11-08 17:54:17
【问题描述】:
我有一个很奇怪的问题,我在不同的机器上使用相同的代码和相同的数据得到不同的结果。
我有一个基于numpy/scipy/sklearn 的python 代码,我使用anaconda 作为我的基本python 发行版。即使我将整个项目目录(包括所有数据和代码)从我的主机复制到另一台机器并运行它,我得到的结果也是不同的。具体来说,我正在做一个分类任务,我得到了 3% 的准确度差异。我在两台机器上使用相同版本的 python 和 anaconda。我的主机是 ubuntu 16.04,它的结果低于我尝试过的具有各种操作系统的其他几台机器(OSX、ubuntu 14.04 和 Centos)。所以,我当前的系统配置应该有问题,因为所有其他机器显示一致的结果。由于我的 anaconda 版本在所有机器中都是一致的,我不知道还有什么问题。有什么想法我还应该检查什么或问题的根源是什么?
我还从头开始删除并重新安装了 anaconda,但没有帮助。
【问题讨论】:
-
您使用的是训练/测试拆分吗?如果是这样,可能是由于提取了不同的样本。
-
我为此使用了随机种子。此外,我每次运行时都不会得到不同的结果,我只在其中一台机器上得到不同的结果。所以,我想这一定是由于系统配置。但不确定要检查什么。
-
如果不看代码(最好是一些有代表性的示例数据),很难确定。无论操作系统如何,相同的代码/数据/库应该产生相同的结果。可能存在包版本差异,即版本之间的某些内容发生了变化?
-
所有机器都是相同的位架构(例如64位)吗?
-
也许 Numpy 的一个版本与数学内核库链接,而一个不是?只是想添加一个数据点。
标签: python numpy scipy scikit-learn anaconda