预测中的负值

PapadPapad 成员职位:68大师
大家好!
我正在进行预测,但我不希望我的结果有负值(即使我想有不能在我拥有的数据集中)。
我该怎么处理呢?
提前感谢。
标记:

最佳答案

  • Telcontar120Telcontar120 主持人,RapidMiner认证分析师,RapidMiner认证专家,会员职位:1635年独角兽
    解决方案接受
    @Papad问题是,对于数字标签,虽然你可能没有在训练数据集中观察到负值,但如果模型是基于函数的,那么新的输入值可能会通过外推导致负预测。永远不会得到负预测值的唯一方法要么是使用本质上不能预测负值的模型(例如泊松或逻辑等GLM模型中的某些类型的链接函数),要么是使用不外推的模型(例如某些类型的树模型)。否则,您不能保证模型不会看到新的输入数据并生成超出先前预测范围(可能是负的)的预测。

    布莱恩·T。
    Lindon合资企业
    乐鱼平台进入来自认证RapidMiner专家的数据科学咨询
    varunm1 IngoRM Papad

答案

  • sgenzersgenzer 管理员,版主,员工,RapidMiner认证分析师,社区经理,成员,大学教授,PM版主职位:2959年社区经理
    @Papad你只是想取一组值/结果的绝对值吗?生成属性可以用abs()很好地完成这个任务。

    斯科特

    Papad
  • Telcontar120Telcontar120 主持人,RapidMiner认证分析师,RapidMiner认证专家,会员职位:1635年独角兽
    或者,如果您从外推中获得负值(例如线性回归或类似模型的结果),那么可能将下限设置为零(或任何您想要的最小值)将比绝对值更好。因此,您可以使用Generate Attributes和IF语句(如IF(att1<0,0,att1))来实现这一点。

    布莱恩·T。
    Lindon合资企业
    乐鱼平台进入来自认证RapidMiner专家的数据科学咨询
    sgenzer
  • PapadPapad 成员职位:68大师
    2019年7月编辑
    @Telcontar120
    我认为你建议的方法只是改变我的模型将产生的值,但我想要的是我的模型本身不会给出负值。
    更明确地说,我拥有的数据集永远不会包含负值,这是不可能的。所以我想让我的模型知道它以便给出正的值。
    也许你给出的解决方案不会影响太大的准确性,因为也许我们讨论的是1000个集合中的一个或两个值。
    不过我会按你的建议试试。
    再次感谢。
登录注册置评。