2016-03-09 29 views
1

我是初學者機器學習。我使用空閒的Spyder 這Python版本:NameError:name'Ridge'未定義

Python 3.4.3 |Anaconda 2.3.0 (64-bit)| (default, Mar 6 2015, 12:06:10) [MSC v.1600 64 bit (AMD64)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 

我有以下錯誤:

NameError: name 'Ridge' is not defined 

能否請你幫我找出什麼不對的代碼?這個問題與Python版本有關嗎?

from sklearn import linear_model 
clf = linear_model.Ridge(alpha=.5) 
clf.fit ([[0, 0], [0, 0], [1, 1]], [0, .1, 1]) 
Ridge(alpha=0.5, copy_X=True, fit_intercept=True, max_iter=None, 
     normalize=False, random_state=None, solver='auto', tol=0.001) 
clf.coef_ 

預先感謝

+1

你能看出你引用Ridge的兩種方式之間的區別嗎? –

+0

你安裝了嗎? pip安裝scikit-learn? – jmugz3

+0

我正在使用spyder IDLE並運行Anaconda。 scikit-learn是預裝的。這是版本 – Jossi

回答

2

請參閱下面的兩個代碼段之間的差,其中第一個是正確的,所述第二產生一個錯誤:

首先

from sklearn import linear_model 
clf = linear_model.Ridge (alpha = .5) 
clf.fit([[0, 0], [0, 0], [1, 1]], [0, .1, 1]) 
clf.coef_ 
array([ 0.34545455, 0.34545455]) 

第二張:

from sklearn import linear_model 
clf = linear_model.Ridge (alpha = .5) 
clf.fit ([[0, 0], [0, 0], [1, 1]], [0, .1, 1]) 
Ridge(alpha=0.5, copy_X=True, fit_intercept=True, max_iter=None, 
    normalize=False, random_state=None, solver='auto', tol=0.001) 
clf.coef_ 
NameError: name 'Ridge' is not defined 

編輯

您應該運行從第一代碼片斷一行一行在Python解釋器的線路(或在一個小區作爲一個整體在IPython的筆記本),你會得到線

Ridge(alpha=0.5, copy_X=True, fit_intercept=True, max_iter=None, 
    normalize=False, random_state=None, solver='auto', tol=0.001) 

輸出你已經執行之後clf.fit([[0, 0], [0, 0], [1, 1]], [0, .1, 1])聲明。

+0

謝謝。我跑了這個。雖然我現在沒有得到錯誤,但我沒有注意到你從sklearn import linear_model提到的任何輸出clf = linear_model.Ridge(alpha = .5) clf.fit([[0,0 ],[0,0],[1,1]],[0,.1,1]) – Jossi

+0

@Jossi,嘗試複製並運行第一段代碼行並注意輸出... –

+0

感謝它作品 – Jossi