2016-12-19 76 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]