安装了错误的 scikit-learn 版本?

Wrong scikit-learn version installed?

我遇到了同样的情况

ValueError: scoring must return a number, got [...] (<class 'numpy.core.memmap.memmap'>) instead.

中讨论的错误。

根据这个问题的答案和我自己的研究,我相信这个问题会在 scikit-learn 版本 0.17.1 中得到修复,尽管我仍然遇到它。然后我发现了一些奇怪的事情。

conda 列出正确的版本。

$ conda list scikit-learn packages in environment: scikit-learn 0.17.1 np111py27_0

我的 Jupyter notebook 给出了正确的版本:

%load_ext watermark %watermark scikit-learn scikit-learn 0.17.1

但是当我检查代码中的版本时,我得到了不同的版本:

import sklearn print(sklearn.__version__) 0.17

我不会有任何想法,除了我仍然看到 0.17 中的错误应该在 0.17.1 中修复,所以我想知道我是否以某种方式使用了错误的版本。

我想知道它是否以某种方式连接到 Q30666685

您可能安装了多个版本的 scikit learn。您可以使用

查看它的安装位置
print(sklearn.__file__)

然后简单地删除它。以防您在虚拟环境中仍然遇到版本问题。