【问题标题】:name 'KMeans' is not defined in Jupyter NotebookJupyter Notebook 中未定义名称“KMeans”
【发布时间】:2020-05-05 03:46:40
【问题描述】:

我无法在我的 Jupyter Notebook 中运行 KMeans()。如果我只是在 Python 脚本中使用相同的代码,它就可以正常工作。我已经安装了 KMeans/Sklearn 使用。

!pip3 install KMeans

那有什么问题呢?

【问题讨论】:

标签: python python-3.x jupyter-notebook data-science k-means


【解决方案1】:

Jupyter 中单元格背后的想法是,您将代码拆分为单元格,当您更改代码的某些部分时,您无需重新运行所有代码,只需重新运行其中的一部分。

即每次更改某些内容时,您都不需要运行代码的读取输入部分。

您所做的是首先运行第三个单元格,因此在您从 sklearn 模块导入 KMeans 的地方根本没有执行导入单元格。

您应该按顺序运行单元格,如果您遇到有关 KMeans 类的错误,则可能您尚未安装 sklearn 模块。

为了安装它,运行pip install sklearn

sklearn installation notes.

【讨论】:

    【解决方案2】:

    直截了当的回答: 在 Jupyter 笔记本的一个单元格中写入(例如在 In[6] 中:

    from sklearn.cluster import KMean
    km=KMean(1)
    

    并查看是否有错误。

    长答案 Jupyter 笔记本中有不同的单元格。如果您已重新启动 Jupyter Notebook,则需要执行所有单元格。

    在您的屏幕截图上: In[] 写在前两段代码中,In[6] 写在出现错误的代码段中。 这可能意味着您没有在第三个单元格 (In[6]) 之前执行前两个单元格 (In[]),因此尚未导入 Kmean。

    你可以做什么: - 确保你已经执行了前两段代码? - 确保在执行 In[6] 之前没有清除变量? (不确定 Jupyter 上是否存在此功能)

    【讨论】:

    • 我是 Jupyter Notebooks 的新手,无法真正理解您要说的内容。在 In[6] 之前,我只使用单元格来安装软件包,然后将这些行删除。没有其他代码。
    • 我也尝试在 In[6] 之前插入一个单元格并重新安装 KMeans,但它仍然不起作用。
    • 我编辑了我的答案以使其更清晰。你也可以看看@Strange 的回答:我们说的是同一件事
    【解决方案3】:

    以上两个单元格还没有执行。

    请重新运行所有单元格。可能您已重新启动内核并忘记运行从 sklearn.cluster 导入 KMeans 的单元。

    【讨论】:

      猜你喜欢
      • 2019-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-09
      • 2022-08-18
      • 1970-01-01
      • 2020-09-19
      • 2021-04-25
      相关资源
      最近更新 更多