名称错误: 未定义名称'Ridge'



我是初学者学习机器学习。我正在使用 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_

提前致谢

请参阅下面两个代码片段之间的区别,第一个是正确的,第二个产生错误:

第一

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])语句后的输出中。

相关内容

  • 没有找到相关文章

最新更新