【问题标题】: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)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)
【发布时间】:2019-12-13 06:29:33
【问题描述】:

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

【问题讨论】:

    标签: python python-3.x numpy


    【解决方案1】:

    您正在将 3 行 1 列的矩阵转换为 3 列 1 行的矩阵。 然后你将它与一个类似的矩阵相乘(也是 3 列 1 行),这在数学上是不正确的。因此,您可以删除转置函数或将 R 矩阵定义为 1 行 3 列,然后转置它。更多信息请查看this

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2021-01-11
        • 2021-10-09
        • 2021-09-23
        • 2020-09-29
        • 2018-10-21
        • 2021-05-05
        • 1970-01-01
        • 1970-01-01
        • 2013-02-21
        相关资源
        最近更新 更多