我已经使用matmul编写了代码,但是出现以下错误:
"ValueError: matmul: Input operand 1 has a mismatch in its core dimension 0, with gufunc signature (n?,k),(k,m?)->(n?,m?) (size 1 is different from 3)"
代码:
R = [[0.40348195], [0.38658295], [0.82931052]]
V = [0.33452744, 0.33823673, 0.32723583]
print("Rt_p: ", R)
B = np.matmul(V,np.transpose(R))/pow(LA.norm(R), 2)
print("B", B)
答案 0 :(得分:3)
尝试检查您的 X_train 形状,然后检查您输入到 .predict() 函数中的测试数据的形状。如果特征的数量不同,比如 X_train(2323,22) 和测试数据 (3534,20) 那么它会显示这种类型的错误
答案 1 :(得分:1)
您正在将3行1列的Matrix转换为3列1行的Matrix。 然后,将其与类似的矩阵(也是3列1行)混合使用,这在数学上是不正确的。因此,您可以删除转置函数或将R矩阵定义为1行3列,然后对其进行转置。检查this以获得更多信息。