2016-03-31 87 views
1

我有一個問題我在火花上寫了我的腳本,當我運行腳本時我有一個導入問題,但我不明白爲什麼,因爲當我運行相同腳本在本地通過spyder,我沒有得到這個錯誤。 那麼爲什麼我得到這個錯誤?它是Bluemix有問題嗎?Python錯誤,無法導入名稱星火上的Imputer(Bluemix)

腳本:

from sklearn.ensemble import GradientBoostingClassifier 
from sklearn import preprocessing 
from sklearn.preprocessing import Imputer 
from sklearn.metrics import roc_auc_score 

和我的錯誤是:

<ipython-input-2-13d49864f8d7> in <module>() 
    66 from sklearn import preprocessing 
    67 #from sklearn.preprocessing import Imputer 
---> 68 from sklearn.metrics import roc_auc_score 


ImportError: cannot import name roc_auc_score 

or 

from sklearn.ensemble import RandomForestClassifier 
     4 import sklearn.preprocessing as p 
----> 5 from sklearn.preprocessing import Imputer 
     6 #import sklearn.metrics as sm 
     7 from sklearn.metrics import roc_auc_score 

ImportError: cannot import name Impute 

回答

1

scikit_learn的版本0.11,這是預裝在筆記本Bluemix沒有Imputerpreprocessing。因此ImportError

在Bluemix筆記本中,您可以從Environment選項卡的右側欄中找到該庫的版本。

+0

同意@Philipp Langer和Imputer將在稍後的版本中介紹。 其中一種升級方式非常有趣,Bluemix上的Pip正在安裝舊版本。 '!pip install --user --upgrade scikit-learn == 0.17.1' 您正在使用pip版本7.1.0,但是可以使用8.1.1版本。 您應該考慮通過'pip install --upgrade pip'命令進行升級。 收集scikit學習== 0.17.1 使用緩存scikit學習-0.17.1.tar.gz 安裝收集包:scikit學習 運行的setup.py安裝scikit學習 成功安裝scikit學習-0.11 –

+0

感謝您的回答。 –

3

解決方法是在用戶站點包中安裝較新版本的scikit-learn,並從系統站點包中導入該目錄,而不是scikit-learn 0.11

1)安裝的scikit-learn較新版本(忽略輸出 「成功安裝scikit學習-0.11」):

!pip install --user --upgrade scikit-learn 

2.)顯示用戶名:

!whoami 

3。 )在到系統站點包的路徑前設置用戶站點包的路徑。第2步使用的用戶名變量USER_NAME:

import sys 
sys.path.insert(0,"/gpfs/fs01/user/USER_NAME/.local/lib/python2.7/site-packages") 

4)檢查scikit-learn版本:

import sklearn 
sklearn.__version__ 

下面的代碼應了以上步驟後運行:

from sklearn.ensemble import GradientBoostingClassifier 
from sklearn import preprocessing 
from sklearn.preprocessing import Imputer 
from sklearn.metrics import roc_auc_score 

重新啓動內核之後,必須再次執行步驟3才能從用戶站點包中導入更新版本的scikit-learn

+0

感謝您的回答。但我做了所有的建議,但仍然遇到同樣的錯誤,因爲當我輸入代碼「import sklearn sklearn .__ version__」時,我得到了這個'0.11'。因此更新不成功 –

+0

您是在新的Python筆記本中嘗試過它,還是在您可能已經計算過涉及舊包的代碼的同一個筆記本中嘗試過?在後一種情況下,您必須重新啓動內核才能清除環境。我會再次嘗試解決方法,但它爲我工作。 –

+0

我再次應用瞭解決方法,它爲我工作。如果你喜歡,你可以與Bluemix支持分享筆記本,然後我可以仔細看看。 –

相關問題