2017-06-12 22 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