找到正确版本的 python/sklearn 以在 pyenv 中使用机器学习模型

Mic*_*ael 1 pickle scikit-learn pyenv python-poetry

我在 Kaggle 上腌制了一个模型,并尝试下载它在本地运行。我使用诗歌和 pyenv 运行以下命令来创建项目:

pyenv local 3.6.6    
poetry new model_api
cd model_test
poetry env use python
poetry add "sklearn>=0.21.3"
Run Code Online (Sandbox Code Playgroud)

但收到以下错误。

在此输入图像描述

如果我只是使用 sklearn 并将其与诗歌一起安装,那么在 VS Code 中执行代码时会出现此错误。

/bin/python /home/gary/Documents/model_api/model_api/app.py
Traceback (most recent call last):
  File "/home/gary/Documents/model_api/model_api/app.py", line 5, in <module>
    model = pickle.load(f)
ModuleNotFoundError: No module named 'sklearn.ensemble.forest'
Run Code Online (Sandbox Code Playgroud)

这是我尝试运行的代码。

import sklearn 
import pickle

f = open('./model/ForestModel','rb')
model = pickle.load(f)
Run Code Online (Sandbox Code Playgroud)

根据我在 Kaggle 上看到的内容,我尝试使用 Python 3.6.6 和 sklearn 0.21.3: 在此输入图像描述

如果我尝试使用更新版本的 Python(例如 3.8.10),我会收到相同的错误。我想我错过了一些简单/明显的东西。任何我可以检查的指示或事情将不胜感激。

fin*_*mer 10

没有sklearn您想要安装的版本的软件包。我认为您正在寻找scikit-learn文档)。

您可以通过运行以下命令来安装其他依赖项支持的最新版本:

poetry add scikit-learn
Run Code Online (Sandbox Code Playgroud)

或者如果您需要安装特定版本:

poetry add "scikit-learn==0.24.2"
Run Code Online (Sandbox Code Playgroud)

对于其他选项,请查看此处的诗歌文档。