我正在使用python 2.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个项目,如果重要的话。它们都是花车
我该如何纠正?
感谢您的任何建议
答案 0 :(得分:2)
您应该阅读numpy广播here和here。您试图在两个具有不兼容形状的阵列之间获取点积。
>>> 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,)
我不确定该推荐什么,因为我不知道你在这些阵列之间采用点积所期望的是什么。