我是初学者学习机器学习。我正在使用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_
提前致谢
答案 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])
语句后,在 输出 中。