我关于ML模型的方法正确吗?数据科学堆栈交换

2024-10-06 12:30:27 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,我是一个新手,这是我在这个平台上的第一个问题,所以我为格式上的错误道歉

在我的论文研究中,我试图通过查看商用航空参数来确定特定飞行中飞机的非正常燃油消耗量。为了实现这一点,我使用了两个独立的数据库;一个是实际飞行数据(QAR数据),另一个是高保真仿真(运行飞行计划)。我的策略是用模拟(OFP)训练前馈ML模型(我使用Pytorch),并用QAR数据进行测试。以下是特定ML条件下的最佳模型结果

Best Model goes here

通过上述方法,训练后的模型可以预测实际航班的燃油燃烧,并且对于99.3%的航班,误差小于%5。同样,错误<;%3-->;%93.4航班数量,错误<;%2-->;%78.9次航班

这就是我困惑的开始

比如说,有%0.7的航班消耗了%5或更多的燃油。我如何确定这不是由培训错误引起的?如果我使用OFP参数测试模型,并逐个航班查看模型的错误航班,并识别出有训练错误的航班(即燃油消耗量增加或减少%5),并将其从第一个非正常识别过程中排除,这是否可行?在我看来,这种想法行不通,因为训练数据集将与测试数据集相同,并且模型将过拟合

你认为上述方法正确吗?有没有其他方法可以帮助我克服训练中的错误?或者我应该接受训练错误,因为在这种情况下没有什么可以做的


Tags: 数据方法模型ltgt参数错误平台
1条回答
网友
1楼 · 发布于 2024-10-06 12:30:27

免责声明:请记住,我不是这类应用的专家

How could I be sure this is not caused by the training error?

您可以确定,因为评估过程是有效的。在任何ML过程中都会出现错误,重要的是正确估计错误的预期水平(性能评估)

据我所知,您当前的方法是正确的,因为您的评估设置似乎有效:测试集由实际飞行数据组成。只要评估是可靠的,模型的训练方式就无关紧要。事实上,该模型甚至可以是一个没有训练数据的简单启发式模型:它的性能可能不会很好,但就方法论而言,重要的是性能得到了正确的估计

我不确定我是否遵循了你为清理训练数据所做的过程。重要的是,它不应依赖于您用作测试集的实际飞行数据,因为这会导致数据泄漏。只要不需要,就可以按任何方式预处理数据集。但是要小心,如果您计划尝试对训练数据使用许多不同的选项并对每个选项进行评估,那么您应该使用与最终测试集不同的验证集(此过程类似于参数调整)

您可以考虑在训练过程中使用实际飞行数据的一小部分作为验证集(我假设您当前使用一些模拟数据正确吗?)。同样,如果您这样做,请确保使用完全独立的子集作为测试集

相关问题 更多 >