单个模型是否可以返回连续或分类结果?

2024-06-16 12:10:26 发布

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

很抱歉我的题目措辞不好,我只是不知道该怎么表达我的问题。解释我的问题可能更容易。另外,我对这一点还很陌生,我只上过几门Python课程,在这一领域没有任何专业经验

TL;博士:我想建立一个模型来预测一个航班会延误多少分钟,或者是否会取消。

我正在使用2015 Flight Delays dataset on Kaggle,并将这些数据与我发现的一个提供机场历史天气数据的站点相结合。我试图把这两组数据结合起来,建立一个更好的延迟预测

我的假设是坏天气是延迟的主要原因,但是坏天气确实是取消预订的主要原因

我的第一个想法是,我可以创建一个线性模型,将天花板、能见度、风作为连续自变量,加上始发机场、始发机场和降水强度作为分类自变量,并输出到达延迟作为因变量但是,这不包括航班取消。

在数据集中,取消的航班有一个NaN作为起飞和到达时间,然后有一个热编码列作为取消时间。我可以编辑数据集,如果取消的列是1,就做一些类似于到达延迟999的事情,但这与线性模型有关

我的模型是否可以输出一个数字(连续)值来表示一个航班将延迟多少分钟,或者如果它将被完全取消(分类)

如果没有,我能以某种方式堆叠模型吗?例如,制作一个随机森林模型,只预测“取消”或“未取消”,并将“未取消”的航班输入一个线性模型,预测航班将延迟多少分钟

稍微无关的问题:我不认为天花板/能见度/风之间存在线性关系,但我确实认为可能存在对数关系。例如,能见度为0.5英里、1.0英里和1.5英里之间存在巨大差异,但能见度为8英里和10英里之间的差异为零。风和天花板也一样。什么样的模型对我来说是可用的在scikit学习,这说明了这一点


Tags: 数据模型时间能见度分类原因线性差异
1条回答
网友
1楼 · 发布于 2024-06-16 12:10:26

这里有很多问题,但让我来回答一个与堆叠机器学习模型有关的问题

答案是肯定的,你训练一个能同时解决这两个任务的神经网络。这就是所谓的多任务学习。我只知道用深度神经网络实现多任务学习并不难。最重要的部分是输出层,在本例中,您将有一个带有两个激活单元的输出层。一个sigmoid输出单元和一个relu输出单元(如果您计划只预测可能的延迟)

你的问题的另一个解决方案是你提出的。只需将延迟设置为一个大数字,并在代码中设置一个条件,如“如果延迟小时数超过n天,则航班取消”

我看到的最后一个解决方案是实现两个神经网络。一个决定航班是否取消,一个决定延误时间。如果第一个返回true,那么不要使用第二个

请随便问

相关问题 更多 >