【问题标题】:Can you please help me correct this valueerror: math domain error?你能帮我纠正这个值错误:数学域错误吗?
【发布时间】:2019-10-11 23:51:01
【问题描述】:

我正在尝试计算逻辑回归中的损失函数,但最终会出现数学错误。你能帮我纠正这个错误吗?

def loss(y,a):
    L = (-y*math.log(a)-(1-y)*math.log(1-a)).mean()
    return L

【问题讨论】:

  • 检查log() 参数。域错误:参数是否定的,errno 设置为 EDOM
  • 是的,我明白了。讲师允许我们尝试对这部分进行硬编码(剪切输入函数或通过设置 ephsilon 项)来否定这个实例。你能帮我编写这部分代码吗?
  • @vishwa 如果您认为以下答案合适,请将其标记为经过验证的答案,以便以后可能会访问此问题的其他人有所帮助。
  • @Parthasarathy,我做到了,但由于我的声誉得分较低,它没有出现。

标签: numpy math logistic-regression


【解决方案1】:

您收到错误是因为您试图查找负数的日志(即a 变为负数)。从您的等式中,我推断 y 是真实值,a 是预测值。预测来自以下方程:

所以a 不可能是负数,所以请检查您的预测函数定义。

希望这会有所帮助!

【讨论】:

  • 是的,知道了。非常感谢。
猜你喜欢
  • 2022-06-11
  • 1970-01-01
  • 2013-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多