我将 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
最佳答案
上面评论中的建议对我有用。
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 给出无法导入梳子的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46178199/