【问题标题】:Regression vs Classification for a problem that could be solved by both回归与分类可以解决的问题
【发布时间】:2020-02-13 10:20:51
【问题描述】:

我有一个问题,我一直将其视为分类问题。我试图根据一些输入特征来预测机器是否会通过或失败特定的测试。

我真正感兴趣的实际上是预测一台新机器是否会通过测试。它可以通过使某些特征(例如速度、振动等)超出范围来通过或失败测试。

因此,我可以:

1) 将其视为纯回归问题;尝试预测速度、振动等的实际值

2) 将其视为纯分类问题;对于每个观察,在标签上输入它是通过还是失败,并尝试在我正在制作的工具中预测这一点

3) 将其视为伪问题;我在其中预测实际值,并根据与通过/失败阈值的距离来衡量我对通过或失败的信心程度

要清楚;我正在解决一个真正的问题。我对获得某个值的超精确预测不感兴趣,只是预测一台机器是通过还是失败(以及奖励扩展;它是真实的可能性有多大)。

我一直在使用分类模型,因为我只有几百个观察结果,并且之前的一些研究表明这可能是处理该问题的最佳方法。但是我现在想知道这是否是正确的做法。

你会怎么做!?

非常感谢。

【问题讨论】:

  • 因为它更多的是关于理论,所以对于Cross ValidatedData Science 堆栈站点来说,这将是一个更好的问题。话虽如此,这在很大程度上取决于您的最终目标是什么。您的模型应该旨在预测您尝试使用的结果。您是否试图预测失败/不失败?分类。您是否试图预测单个组件故障?多标签分类。预测组件是否会超速?可能是回归。
  • 我的最终目标是预测通过/失败;但我并不真正关心“一般而言”的最佳方法是否是尝试预测参数的更精确值并从那里计算出是通过还是失败。我想知道是否有人以前有过如何处理此类问题的经验,尤其是在我没有大型数据集的情况下...
  • 在我作为军事核工程师的工作中,故障概率通常被认为非常重要 - 例如,我们会准确地更换功能性、工作机械部件因为我们知道部件在给定使用寿命后发生故障的概率。出于这个原因,我倾向于选择你的选择 3。
  • 太好了,谢谢你,这是宝贵的见解。在我的特殊情况下也是如此;能够按照“通过/失败的概率”对机器进行排名仍然很有用。在我的分类尝试中,我最初试图通过 predict_proba_ 来做到这一点;但是通过测量参数与我的通过/失败阈值的距离来做到这一点会更简单。再次感谢

标签: python machine-learning regression classification


【解决方案1】:

如果没有数据和运行分类或回归,比较将很难因为您为每个家庭使用的指标不同。 例如,将回归的 RMSE 与分类问题的 F1 分数(或准确度)进行比较就是苹果与橙子的比较。

如果你能训练一个好的回归模型(低 RMSE),那将是理想的,因为这会给你提供比最初的通过/失败问题更多的信息。根据我过去与工业客户的经验,

首先,训练您提到的所有 3 个模型,然后然后将结果展示给您的客户,让他们为您提供更多指导,了解哪些模型/输出对您更有意义他们。

【讨论】:

  • 感谢您的回复。也是好点。我可能会尝试做的是训练回归模型;根据阈值将预测值转换为通过/失败;将 F1 分数/混淆矩阵输出与分类模型的输出进行比较。我希望我能让回归模型的性能优于分类模型,然后正如你所说,我还将掌握有关预测工具的方式和原因的更多信息。
猜你喜欢
  • 2020-04-25
  • 2020-04-07
  • 2011-08-15
  • 2020-01-14
  • 2012-08-21
  • 1970-01-01
  • 2019-10-22
  • 2020-06-30
  • 1970-01-01
相关资源
最近更新 更多