NameError:name' Ridge'没有定义

时间:2016-03-09 15:46:34

标签: python machine-learning scikit-learn anaconda spyder

我是初学者学习机器学习。我正在使用IDLE spyder 这个Python版本:

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 个答案:

答案 0 :(得分: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])语句后,在 输出