2016-12-19 77 views
0

所以我一直在试图安装numpy,scipy和sklearn我正在学习的课程。经过许多问题和众多尝试之后,我安装了pycharm并使用其内置的包管理器来获得numpy和scipy。我也装sklearn但是当我导入它在我的代码我得到以下错误:导入sklearn错误

Traceback (most recent call last): 
    Python Shell, prompt 1, line 3 
    File "C:\Users\Berges\AppData\Local\Programs\Python\Python35\Lib\site-packages\sklearn\__init__.py", line 57, in <module> 
    from .base import clone 
    File "C:\Users\Berges\AppData\Local\Programs\Python\Python35\Lib\site-packages\sklearn\base.py", line 12, in <module> 
    from .utils.fixes import signature 
    File "C:\Users\Berges\AppData\Local\Programs\Python\Python35\Lib\site-packages\sklearn\utils\__init__.py", line 11, in <module> 
    from .validation import (as_float_array, 
    File "C:\Users\Berges\AppData\Local\Programs\Python\Python35\Lib\site-packages\sklearn\utils\validation.py", line 18, in <module> 
    from ..utils.fixes import signature 
    File "C:\Users\Berges\AppData\Local\Programs\Python\Python35\Lib\site-packages\sklearn\utils\fixes.py", line 406, in <module> 
    if np_version < (1, 12, 0): 
builtins.TypeError: unorderable types: str() < int() 

(我使用python 3.5.2和当u庆典上运行python3我可以导入sklearn得很好,但它似乎是使用了Python 3.4.3)

UPDATE:

我装蟒蛇,并试图逃离永IDE和Atom下面的代码:

import numpy as np 
X = np.array([[-1,-1],[-2,-1],[-3.-2],[1,1],[2,1],[3,2]]) 
Y = np.array([1,1,1,2,2,2]) 
from sklearn.naive_bayes import GaussianNB 
clf = GaussianNB() 
clf.fit(X,Y) 
print(clf.predict([[-0.8,-1]])) 

然后我得到的以下错误:

Traceback (most recent call last): 
    File "C:\Users\Berges\Downloads\test.py", line 6, in <module> 
    clf.fit(X,Y) 
    File "C:\Users\Berges\Anaconda3\lib\site-packages\sklearn\naive_bayes.py", line 173, in fit 
    X, y = check_X_y(X, y) 
    File "C:\Users\Berges\Anaconda3\lib\site-packages\sklearn\utils\validation.py", line 510, in check_X_y 
    ensure_min_features, warn_on_dtype, estimator) 
    File "C:\Users\Berges\Anaconda3\lib\site-packages\sklearn\utils\validation.py", line 373, in check_array 
    array = np.array(array, dtype=dtype, order=order, copy=copy) 
ValueError: setting an array element with a sequence. 
+0

看到我的答案,让我知道 – sera

回答

0

如果您只想为某个课程启动并运行某个课程,并希望在Windows上运行它。那么我建议你安装anaconda包管理器。它在Windows上工作起来很轻松,安装非常简单,并且包含所有必需的软件包(您不必担心版本不匹配和所有问题)。

安装anaconda管理器后,将pycharm解释器位置更改为anaconda安装的python解释器。

链接:https://www.continuum.io/downloads 可用的软件包列表:https://docs.continuum.io/anaconda/pkg-docs

+0

嘿维韦克,检查更新,请 –

+0

我看到,您使用的是来自http://scikit-learn.org/stable/modules/generated/sklearn.naive_bayes.GaussianNB.html的示例。 –

+0

我看到您使用的是http://scikit-learn.org/stable/modules/generated/sklearn.naive_bayes.GaussianNB.html中的示例。 您在数组“X”中犯了一个错误。 ([[-1,-1],[ - 2,-1],[ - 3-2],[1,1],[2,1],[3]代替 而不是 。 ,[2]])' 它应该是 'X = np.array([[-1,-1],[-2,-1],[-3,-2],[1,1],[ 2,1],[3,2]])' **代替逗号,您放置了一个点。所以它来到-5,而不是[-3,-2] ** –

0

你错过了一个小细节导致此错误。您可以输入[-3. -2]而不是[-3, -2]

所以你错过了一个逗号。

下正常工作:

import numpy as np 

X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]]) 
Y = np.array([1, 1, 1, 2, 2, 2]) 

from sklearn.naive_bayes import GaussianNB 
clf = GaussianNB() 
clf.fit(X, Y) 

print(clf.predict([[-0.8, -1]])) 

结果:

[1]