基于表格特征的序列预测

数据挖掘 机器学习
2022-02-19 19:28:46

我有一个关于一条道路上的特定交叉点以及将穿过该交叉点的汽车的数据集。在给定一组表格特征的情况下,我试图预测汽车通过特定路口的顺序。我的数据集类似于以下内容:

Target      car1_type  car2_type  car3_type      car1_positionId   car2_positionId   car3_positionId ... 
3,1,2       1          2          3              3                 6                 8 
2,1,3       8          4          9              1                 4                 2 

我的功能包括汽车的类型 (car_type) 以及每辆车的位置 (car_positionId)。该位置代表汽车所在的道路区域。上面的每一行代表观察到的 3 辆汽车穿过一个路口的情况。

我试图根据给定的特征预测目标列(汽车将通过交叉路口的顺序)。还有一个额外的复杂性,我也不知道会有多少辆车。可能只有一个(微不足道的案例),也可能多达 20 个。

我的问题是我可以使用什么机器学习算法来帮助我预测订单。

1个回答

我认为你有两种不同的方法来解决这个问题。但是可变数量的特征和目标使其具有挑战性。我不知道有任何完善的方法来处理此类问题,但我发现这个问题很有趣,并想分享我的意见。

第一种方法是将其定义为分类问题。汽车的顺序很重要,从某种意义上说,如果您将 1 类中的汽车归类为 2 类,而不是将其识别为 20 辆汽车中的 15 辆,那么它就是一个问题。这是一个“序数分类”问题,据我所知,对此没有既定的损失函数。但是有人实现了他们自己的并分享了它,但我从未使用过它,所以我不知道它是如何工作的。当然,这不是必须的,您可以使用常规分类器损失函数。

现在你必须处理可变数量的汽车。如果您每次都有最大可能的汽车数量,您可以使用它来定义神经网络中的特征数量。对于汽车数量较少的情况,您可以将与不存在的汽车相关联的特征设置为一个数字(例如 -1),并对损失函数施加约束,以便具有这些特征的汽车在仅展示汽车,并在最后放下它们。这听起来可能很复杂,在这里输入肯定是这样;所以我希望我能够解释它。

第二种可能的方法是定义聚类问题。为了在每种情况下处理可变的汽车数量,您可以将汽车总数定义为附加功能。在您上面给出的示例中,它们都将具有车号特征 = 3。然后使用您可以想到的任何聚类算法,例如 KNN 和 K=max number of cars。但这也有缺点:当有 3 辆汽车时,汽车可以聚类为 1,2,3;但它们也可以很容易地聚集成 4、6、9;甚至是 1,1,1。我不知道你会如何处理这样的问题。上面定义的分类算法的问题不太可能导致此类问题,但实现起来要困难得多。

我知道这些选项远非最佳,所以我真的希望其他人能提出更好的答案。祝你好运。