如何在Microsoft Azure笔记本中更新sklearn?

时间:2020-01-10 13:34:33

标签: python azure scikit-learn jupyter-notebook

我是机器学习的新手,正在查看一些Scikit-Learn文档。 我使用Microsoft Azure https://notebooks.azure.com/上的帐户。

现在,我正在尝试运行此示例的代码:

https://scikit-learn.org/stable/auto_examples/cluster/plot_agglomerative_dendrogram.html

我收到以下错误

---------------------------------------------------------------------------
   TypeError                                 Traceback (most recent call last)
    <ipython-input-23-fc0d954d99ec> in <module>
 44 
 45 # setting distance_threshold=0 ensures we compute the full tree.
---> 46 model = AgglomerativeClustering(distance_threshold=0, n_clusters=None)
 47 
 48 model = model.fit(X)

   TypeError: __init__() got an unexpected keyword argument 'distance_threshold'

我进行了搜索,问题是我有sklearn'0.20.3'版本,为了运行该代码,我需要0.22版本。 我一直在尝试用

更新sklearn
!pip install --update sklearn

并获得以下结果:

Usage:   
pip install [options] <requirement specifier> [package-index-options] ...
pip install [options] -r <requirements file> [package-index-options] ...
pip install [options] [-e] <vcs project url> ...
pip install [options] [-e] <local project path> ...
pip install [options] <archive url/path> ...

no such option: --update

在网络上搜索时,尝试在jupyter笔记本中更新sklearn时似乎存在一些问题,但通常答案与Anaconda Jupyter笔记本有关,与Azure笔记本无关。

对于解决此问题的任何提示,我将不胜感激。

4 个答案:

答案 0 :(得分:0)

要更新sklearn,请尝试使用以下命令:

pip install -U scikit-learn

这对我有用。

答案 1 :(得分:0)

https://notebooks.azure.com/help/jupyter-notebooks/package-installation

(1911, 128, 128, 3)

选项不起作用,即使显示

!pip !pip install scikit-learn==0.22.1

相反,

Successfully installed joblib-0.14.1 scikit-learn-0.22.1

成功,并且我正确执行了代码。花了几分钟。

如前所述,您的软件包将在笔记本服务器的整个生命期内可用,仅可用,而在当前项目中仅可用。

答案 2 :(得分:0)

这对我有用:

pip install --upgrade pandas

答案 3 :(得分:0)

注意事项:

  • 如果您已经导入了 sklearn(即使使用 %autoreload 2 魔法),则需要重新启动内核。
  • 如果您将内核从默认值(例如从 Python 3.6 - AzureML 更改为 3.8),则您的 PATH 可能未遵循(请参阅 !which pip)并且您可能安装在错误的内核中。要在 3.8 中安装,我必须运行:
! /anaconda/envs/azureml_py38/bin/pip install --user -U scikit-learn

conda /anaconda/envs/azureml_py38/bin/conda install -y scikit-learn==0.24.2 的相同技巧。 我认为 conda 在这种情况下不会有任何优势,除非作为在其爬行依赖解析期间喝咖啡的借口。

Python 3.8 - Azure ML 中从 0.22 升级到 0.24.2 仍然会产生一些错误消息,但如果您不使用这些包,您可以放心地忽略它们(也许即使您是)

<块引用>

错误:raiwidgets 0.4.0 要求 ipython==7.16.1,但您将拥有不兼容的 ipython 7.18.1。
错误:raiwidgets 0.4.0 的要求是 jinja2==2.11.1,但您将拥有不兼容的 jinja2 2.11.2。

相关问题