0

私はPython2.7を使用していますが、このコードを機能させてエラーを受け取り続けようとしています

nsample = 50
sig = 0.25
x1 = np.linspace(0,20, nsample)
X = np.c_[x1, np.sin(x1), (x1-5)**2, np.ones(nsample)]
beta = masterAverageList
y_true = np.dot(X, beta)
y = y_true + sig * np.random.normal(size=nsample)

しかし、オブジェクトが整列されていないというエラーが発生し続けます。マスター平均リストがリストであることに関係があると思いますか?

重要な場合は、マスター配列リストに196個の項目が含まれていることを忘れました。それらはすべてフロートです

どうすればこれを修正できますか?

提案をありがとう

4

1 に答える 1

2

ここここで numpy ブロードキャストを読む必要があります。互換性のない形状を持つ 2 つの配列の間でドット積を取得しようとしています。

>>> import numpy as np
>>> x1 = np.linspace(0,20,50)
>>> X = np.c_[x1,np.sin(x1),(x1-5)**2,np.ones(50)]
>>> beta = np.ones(196)
>>> y_true = np.dot(X,beta)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: matrices are not aligned
>>> X.shape
(50, 4)
>>> beta.shape
(196,)

これらの配列間のドット積をとることによってあなたが何を期待していたのか分からないので、何を推奨すればよいかわかりません。

于 2012-07-28T00:51:03.623 に答える