Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python scikit学习岭回归UnboundLocalError_Python_Scikit Learn_Linear Regression - Fatal编程技术网

Python scikit学习岭回归UnboundLocalError

Python scikit学习岭回归UnboundLocalError,python,scikit-learn,linear-regression,Python,Scikit Learn,Linear Regression,我只是一个初学者,我正在尝试在scikit learn中实现多项式回归。通常没有正则化的回归效果很好 regr = linear_model.LinearRegression(copy_X=True) X = np.array(time_list[0:24]).reshape(24,1) for i in range(2,10): X=np.append(X, X**i, 1) Y = np.array(tempm_list[0:24]).reshape(24,1) regr.fit(X

我只是一个初学者,我正在尝试在scikit learn中实现多项式回归。通常没有正则化的回归效果很好

regr = linear_model.LinearRegression(copy_X=True)
X = np.array(time_list[0:24]).reshape(24,1)
for i in range(2,10):
   X=np.append(X, X**i, 1)
Y = np.array(tempm_list[0:24]).reshape(24,1)

regr.fit(X, Y)
但是,当我尝试以完全相同的方式实现岭回归时,我得到以下错误:

regularized_regr=linear_model.Ridge(alpha =1, copy_X=True)
regularized_regr.fit(X,Y)


File "/usr/local/lib/python2.7/site-packages/sklearn/linear_model/ridge.py", line 449,    in fit
return super(Ridge, self).fit(X, y, sample_weight=sample_weight)
File "/usr/local/lib/python2.7/site-packages/sklearn/linear_model/ridge.py", line 338, in fit
solver=self.solver)
File "/usr/local/lib/python2.7/site-packages/sklearn/linear_model/ridge.py", line 294, in ridge_regression
coef = safe_sparse_dot(X.T, dual_coef, dense_output=True).T
UnboundLocalError: local variable 'dual_coef' referenced before assignment 

谢谢

第一个建议:减少多项式次数,例如,表明这是scikit中的一个错误。不确定修复程序是否在发布版本中。您可以尝试更新您的scikit安装。正如@BrenBarn所说,这可能是scikit learn最新版本中修复的一个bug。同时,您能试试更高的
alpha
?我将在下面为您计算一个建议。谢谢大家-我确实在早些时候尝试升级到最新的尖端github版本,但在安装过程中出现了一些错误:clang:error:unknown参数:'-mno fused madd'[-Wunused-command line argument hard error in future],但无论如何,尽管我故意进行了可笑的过度拟合,但将多项式次数减少到5次可以修复错误。谢谢顺便说一句,最前沿的版本也有用于多项式回归的
sklearn.preprocessing.PolynomialFeatures
import numpy as np
_, S, _ = np.linalg.svd(X, full_matrices=False)
s = S[0]

alpha = 1.2 * s  # you may vary this fraction between 0.1 and larger

regularized_regr=linear_model.Ridge(alpha=alpha)
regularized_regr.fit(X,Y)