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)

只谈情不闲聊 提交于 2021-02-08 13:13:58

问题


I have written code using matmul, but I am getting the following error:

   "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)"

Code:

    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)

回答1:


You are transposing a Matrix with 3 rows and 1 column to a Matrix with 3 columns and 1 row. Then you are multplying it with a similar Matrix (also 3 columns 1 row) which is incorrect mathematically. So you can either remove the transpose function or define your R Matrix as 1 row 3 columns and then transpose it. Check this for further information.




回答2:


Try to check your X_train shape and then check the shape of the test data which you input into the .predict() function. if the number of features are different like X_train(2323,22) and for test data (3534,20) then it will show this type of erro



来源:https://stackoverflow.com/questions/59317249/valueerror-matmul-input-operand-1-has-a-mismatch-in-its-core-dimension-0-with

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!