Python Sklearn.Model_Selection 给出错误无法导入梳子
Posted
技术标签:
【中文标题】Python Sklearn.Model_Selection 给出错误无法导入梳子【英文标题】:Python Sklearn.Model_Selection giving error unable to import comb 【发布时间】:2018-02-21 00:33:43 【问题描述】:我将 train_test_split 导入为:
from sklearn.model_selection import train_test_split 并给出错误 cannot import name 'comb'。
我使用的版本是 scipy 0.18.1 和 sklearn 0.17.1
以下是错误的详细信息,如果您觉得有问题,请在此处指导。
Traceback (most recent call last):
File "<ipython-input-21-e45e815fd516>", line 1, in <module>
from sklearn import model_selection
File "C:\Users\rahulsharma53\AppData\Local\Continuum\Anaconda3\lib\site-packages\sklearn\model_selection\__init__.py", line 1, in <module>
from ._split import BaseCrossValidator
File "C:\Users\rahulsharma53\AppData\Local\Continuum\Anaconda3\lib\site-packages\sklearn\model_selection\_split.py", line 31, in <module>
from ..utils.fixes import signature, comb
ImportError: cannot import name 'comb
【问题讨论】:
github.com/scikit-learn/scikit-learn/issues/5146 尝试按照以下步骤操作。您的 scipy 安装中可能出现了问题。有些人通过卸载并重新安装 2 个库(scipy 和 sklearn)解决了这个问题。此外,Scipy 的最新版本是 0.19.1 和 sklearn 0.19.0。我建议您尝试获取最新版本。 【参考方案1】:上面评论中的建议对我有用。
scikit-learn 0.17.1 版没有“模型选择”模块(它有“cross_validation”模块,参考here)。由于您安装了 Anaconda,尝试使用 pip 安装程序将 scikit-learn 升级到最新版本可能会导致与已安装的 scipy 和 numpy 版本不匹配(使用 pip 安装程序升级它们不会解决问题)。解决方案是使用 anaconda 的安装程序升级所有三个库,但在此之前必须卸载所有现有版本,首先使用 pip(如果像我一样,你已经走 pip 路线)然后使用 conda。
遵循所引用link中的建议:
pip 卸载:
pip uninstall numpy scipy -y
pip uninstall scikit-learn -y
conda 卸载:
conda uninstall numpy scipy scikit-learn -y
conda 安装:
conda install numpy scipy scikit-learn -y
在重试导入子句之前不要忘记重启 Anaconda。
【讨论】:
以上是关于Python Sklearn.Model_Selection 给出错误无法导入梳子的主要内容,如果未能解决你的问题,请参考以下文章