2017-06-12 21 views
0

我试图找到Ax = b的解决方案,其中A的尺寸为3x1,x的尺寸为1x2,而b的尺寸为3x2。我也希望x很稀少。不正确的尺寸sciKit学习套索

from sklearn.linear_model import Lasso 
clf = Lasso(alpha=.01) 
A = np.array([[0], [1], [2]]) 
b = np.array([[0,1],[1,4],[6,2]]) 
clf.fit(A,b) 

但是我得到的错误enter image description here

什么我做错了任何想法?

+1

请勿将文字张贴为图片 –

回答

0

这些尺寸对我来说没什么意义。

矩阵乘法A * x = b定义为A: n,m and x: m,p,结果b: n, p

在你的情况下,它是一个行vec/col-vec乘法(内部产品)。但是:(1,3)*(3,1)=(1,1)。在这种情况下,b(3,2)不能用于减法。

或者col-vec/row-vec乘法(外积)。但是:(3,1)*(1,3)=(3,3)。再次b(3,2)不兼容。

+0

我不确定我是否理解。 n = 3,m = 1和p = 2有什么问题?不要维度? – user3394045

+0

对于求解Ax = 0是的,但不是为了求解Ax = b,因为b的维数不正确。 (伟大的downvoting没有指出问题btw。) – sascha