当我跑步时

import numpy
from sklearn import linear_model
A= #something
b= #something
clf=linear_model.Lasso(alpha=0.015, fit_intercept=False, tol=0.00000000000001,
          max_iter=10000000000000, positive=True)
clf.fit(A,b)

我得到错误:
usr/local/lib/python2.7/dist-packages/scikit_learn-0.14.1-py2.7-linux-x86_64.egg/
sklearn/linear_model/coordinate_descent.py:418: UserWarning: Objective did not
converge. You might want to increase the number of iterations
' to increase the number of iterations')

有趣的是,A从来就不是无足轻重的。(我想)

最佳答案

尝试增加TOL。
documentation开始:
TOL:浮动,可选
优化的公差:如果更新小于tol,那么优化代码会检查双间隙的优化性和
继续,直到它小于tol。
在我的Scikit Learn版本中,tol的默认值为0.0001。我假设你的容忍度是如此之小,以至于优化永远不会达到一个较低的值。

关于python - sklearn上的Lasso不会收敛,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20681864/

10-09 21:54