对目标变量的大变化进行分类

数据挖掘 Python 分类 喀拉斯
2022-02-08 13:42:12

我正在使用 CNN 来预测目标变量 X 的大变化。我正在从图像中直观地对几个“设置”状态进行分类。

我只对大的变化感兴趣,或者可能没有变化。所以,我可以分为3种方式:

x 是未来期间 X 的绝对变化

  1. 当 x > A% 时标记 BigChange。当 x < A% 时标记为平面。
  2. 当 x > A% 时标记 BigChange。当 x < B% 时标记 Flat,其中 B < A。
  3. 当 x > A% 时标记 BigChange。当 x < B% 时标记为平面。当 x > B && x < A 时标记 SmallChange。

这些方法中的哪一种可能为我提供 BigChange 的最佳预测准确性?

编辑 1:附加说明

输入数据是一组与目标变量 (Float) X 相连的图像 (60x60)。

x 是 X 值之间的差值,较大的值可能是 2-3% 的变化。我对下一个 x > some A(可能是 2%)感兴趣,即有一个 BigChange,但如果 x < B(可能是 0.25%),那么我称之为 Flat。我想对我的图像进行分类,以便我可以预测 x 的大变化或变化小的时候。但我对预测其他任何事情都不感兴趣(比如变化 > 0.25% 但 < 2%)。

所以,我在问我是否应该只对我之前标记为 BigChange 或 Flat 的图像进行分类和训练。但这意味着当我在新数据上运行模型时,它会收到很多图像,这些图像代表 x 的变化,这些变化不是大的或平坦的。这有问题吗?为了完整起见,我是否也应该标记我不感兴趣的东西?

2个回答

我只能根据您的陈述发表评论。首先,把你的目标设定得清晰明确。我认为这是 BigChange 和 Flat Sensitivities 的最大化。

我认为 2 号是有问题的,因为您担心即将出现的图像。分类不是回归。模型有可能永远不会对中间范围有所了解。但是您可以为平坦和大变化预测设置分类阈值以获得最大灵敏度。剩余的未分类图像将是中间范围的变化。这里的问题是,两个不同的阈值和不寻常的指标可能会有很多混淆。

所以我认为 3 获胜,因为 1 不在乎它是小范围还是中等范围的变化。这是实现目标最直接的事情。请注意,即使您使用 3 件事进行分类,优化指标也可能只涉及两件事。但是你应该验证它。我认为比较剩下的两个模型是可以的。交叉验证并根据组合的敏感度指标(仅包括平坦和大的变化)选择获胜者。只是不要被选择的随机性所迷惑。

您最终可能只是交叉验证了三个模型,以确保并始终牢记不寻常的优化指标。此外,您应该始终记住所有模型的分类阈值(不是目标阈值),并且在阈值化后始终可以选择不分类某些示例。

如果您分享您的实验结果并验证我的预感是否错误,我会很高兴。

是自动计算变化,还是需要手动计算?

如果是前者,你不能简单地训练你的 CNN 来测试吗?60×60图像x%关系?的连续性x%可能比培训更好2或者3值离散一。

但这当然取决于您的数据,只需对其进行测试,您就会看到它是否有帮助。如果x%可以很高,并且A相对较低,你可能要削减x超过一定的值,但如果你这样做,就做一遍A%.