代码之家  ›  专栏  ›  技术社区  ›  Narendra Verma

Python-ModuleNotFoundError:没有名为“sklearn.cross_validation”的模块[重复]

  •  -1
  • Narendra Verma  · 技术社区  · 7 年前

    我在Ubuntu 14.04中使用python 2.7。我使用以下命令安装了scikit learn、numpy和matplotlib:

    sudo apt-get install build-essential python-dev python-numpy \
    python-numpy-dev python-scipy libatlas-dev g++ python-matplotlib \
    ipython
    

    但当我导入这些包时:

    from sklearn.cross_validation import train_test_split
    

    ImportError: No module named sklearn.cross_validation
    

    我需要做什么?

    0 回复  |  直到 7 年前
        1
  •  460
  •   The Bearded Llama    6 年前

    它必须与 cross_validation 子模块到 model_selection . 试着替代 型号选择

        2
  •  119
  •   Jee Mok ecanf    7 年前

    列车测试分离现在处于模式选择中。只需键入:

    from sklearn.model_selection import train_test_split
    

    应该有用的

        3
  •  40
  •   Jeru Luke    7 年前

    我想交叉选择不再有效了。我们应该用模型选择来代替。你可以写下来跑, from sklearn.model_selection import train_test_split

        4
  •  35
  •   Cody Gray Felix    6 年前

    确保你有 Anaconda 安装然后 create a virtualenv using conda

    Python 2.7.9 |Anaconda 2.2.0 (64-bit)| (default, Mar  9 2015, 16:20:48) 
    [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    Anaconda is brought to you by Continuum Analytics.
    Please check out: http://continuum.io/thanks and https://binstar.org
    >>> from sklearn.cross_validation import train_test_split
    
        5
  •  21
  •   akshayk07 Asir Ajmal    7 年前

    sklearn.cross_validation 现在改为 sklearn.model_selection

    from sklearn.model_selection import train_test_split
    

    我想那会有用的。

        6
  •  20
  •   Asad    7 年前
    sklearn.cross_validation
    

    已更改为

    sklearn.model_selection
    

    https://scikit-learn.org/stable/modules/cross_validation.html

        7
  •  13
  •   nantitv    7 年前

    可能是因为sklearn.cross_validation被否决了。 请将sklearn.cross_validation替换为sklearn.model_selection

    参考- https://github.com/amueller/scipy_2015_sklearn_tutorial/issues/60

        8
  •  11
  •   Eric Aya    7 年前

    from sklearn.model_selection import train_test_split
    
        9
  •  8
  •   baya prakash reddy    7 年前

    过去的: from sklearn.cross_validation (此软件包在0.18版本中已弃用,从0.20开始,它将更改为 from sklearn import model_selection

    出席: 从sklearn导入模式选择

    例2:

    过去的: from sklearn.cross_validation import cross_val_score

    出席: from sklearn.model_selection import cross_val_score

        10
  •  6
  •   Sani Kamal    6 年前

    sklearn.cross_validation sklearn.model_selection

    只是改变

    sklearn.cross_validation
    

    sklearn.model_selection
    
        11
  •  3
  •   Muhammad Shabin    6 年前

    像这样更改代码

    # from sklearn.cross_validation import train_test_split
    from sklearn.model_selection import train_test_split
    
        12
  •  1
  •   Aniket Mukherjee    6 年前

    前一段时间不赞成使用交叉验证,请尝试使用模型选择将其关闭

        13
  •  0
  •   jss367    6 年前

    如果有需要运行各种版本的代码,可以执行以下操作:

    import sklearn
    if sklearn.__version__ > '0.18':
        from sklearn.model_selection import train_test_split
    else:
        from sklearn.cross_validation import train_test_split
    
    推荐文章