我是初学者学习机器学习。我正在使用 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])
语句后的输出中。