使用StatModels的WLS时出错:SVD未转换

2024-03-29 08:51:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我在statsmodels中使用WLS(加权最小二乘回归)为级联boosting分类器编写了一个算法,并成功地运行了几次。我用了几百张图片,一切都很好。在

不过,我现在用它来训练一个来自大约4000张图片的模型。 现在我得到以下错误:

MKL ERROR: Parameter 4 was incorrect on entry to DLASCL.
Traceback (most recent call last):
  File "C:\Users\app\Documents\Python Scripts\gbc_carclassify.py", line 95, in <module>
    gentlebooster.train(X_train,y_train,100)
  File "C:\Users\app\Documents\Python Scripts\gentleboost_c_class.py", line 103, in train
    temp_g = sm.WLS(y1, self.X, w).fit()  # Step 2(a)(ii)
  File "C:\Users\app\Anaconda\lib\site-packages\statsmodels\regression\linear_model.py", line 127, in fit
    self.pinv_wexog = pinv_wexog = np.linalg.pinv(self.wexog)
  File "C:\Users\app\Anaconda\lib\site-packages\numpy\linalg\linalg.py", line 1574, in pinv
    u, s, vt = svd(a, 0)
  File "C:\Users\app\Anaconda\lib\site-packages\numpy\linalg\linalg.py", line 1323, in svd
    raise LinAlgError('SVD did not converge')
numpy.linalg.linalg.LinAlgError: SVD did not converge

原因是什么?我以前没看过这条消息:

^{pr2}$

错误似乎是由以下行引起的:

 temp_g = sm.WLS(y1, self.X, w).fit() 

Tags: inpyselfappliblinesitetrain