apple_51770410 2022-06-21 17:49 采纳率: 100%
浏览 123
已结题

python矩阵计算问题

#在计算损失函数时,总是报错
#已有:X 为(97, 2)的dataframe
#y为(97,1)的dataframe
#theta为(1,2)的dataframe

#代码如下:

def Compute_cost(theta, X, y):
    total_cost = (X*theta.T-y)**2
    m = len(y)
    J = total_cost/(2*m)
    return J
    

print(Compute_cost(theta,X,y))

#运行结果及报错内容
Unable to coerce to DataFrame, shape must be (97, 2): given (2, 1)

#猜测可能是dataframe的type问题,用np.mat()转换theta 后问题依然存在

  • 写回答

1条回答 默认 最新

  • 请叫我问哥 Python领域新星创作者 2022-06-21 18:22
    关注

    你确定传进去的theta和X都是DataFrame类型吗?这个错误说明两个数据里面至少有一个不是DataFrame类型(可能是ndarray),而且形状不同,不能转换。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月30日
  • 已采纳回答 6月22日
  • 修改了问题 6月21日
  • 创建了问题 6月21日