繁体   English   中英

ValueError: matmul: 输入操作数 1 在其核心维度 0 中存在不匹配,具有 gufunc 签名 (n?,k),(k,m?)->(n?,m?)(大小 1 与 3 不同)

[英]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)

我已经使用 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)

您正在将具有 3 行 1 列的矩阵转换为具有 3 列和 1 行的矩阵。 然后你用一个类似的矩阵(也是 3 列 1 行)乘以它,这在数学上是不正确的。 因此,您可以删除转置函数或将 R 矩阵定义为 1 行 3 列,然后对其进行转置。 检查以获取更多信息。

尝试检查您的 X_train 形状,然后检查您输入到 .predict() 函数中的测试数据的形状。 如果特征数量不同,如 X_train(2323,22) 和测试数据 (3534,20) 那么它会显示这种类型的错误

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM