分类模型对大量分类器进行分类?

数据挖掘 机器学习 分类 r 多标签分类
2022-02-15 10:02:54

您好,我是机器学习/深度学习领域的新手,我发现很难为我的研究选择合适的模型。

我正在尝试构建一个模型,用于根据出发站和目的地站的行程时间和换乘时间对用户使用的地铁路线进行分类。

这是我的数据集的描述。

   BSEC BSTN ASTN1 BSTN2 ASTN2 BSTN3 ASTN3 BSTN4 ASTN4 BSTN5 ASTN TFtime Ttime
 69551 1001  1703  1703     0     0     0     0     0     0 1003    399  2933
 69664 1001  1703  1703     0     0     0     0     0     0 1006    399  2284
 66606 1001  1703  1703     0     0     0     0     0     0 1701    118  1750
 66600 1001  1703  1703     0     0     0     0     0     0 1701    118  1750
 66601 1001  1703  1703     0     0     0     0     0     0 1701    118  1750
 69434 1001     0     0     0     0     0     0     0     0 1703      0  1005

ASTN1,BSTN2,ASTN2...BSTN5 指经停站 BSTN ASTN 指登机和到达站。

我有另一个标记的路线信息数据集。

问题从这里开始。

我正在尝试构建一个模型,该模型可以根据给定的 BSTN、ASTN 和时间信息 BSEC、TFtime、Ttime 对用户使用的路由进行分类。路线标签过多,因为每对起点站和终点站的路线都不同。

以下是每个起点站和终点站的路线数

   BSTN  ASTN trips    
  <dbl> <dbl> <int>
1   150   152     3     
2   150   153     7     
3   150   154     2     
4   150   156     2     
5   150   157     2     
6   150   158     4     

如前所述,只有 5 个 Origin Destination 对已经有 20 条不同的路线。出发地和目的地共有109,425对,路线数为236,213条。我无法为模型分类的每 236,213 条路线添加标签。

我尝试为每对 Origin Destination 对制作随机森林模型。但我无法调整或解释它们,因为模型类型太多。

什么是适合我情况的合适模型? 有没有一种方法可以让模型解释给定的 OD 对,然后在 Origin Destinatnion 对组件中执行分类?

我真的很感激一些建议或帮助。

1个回答

这看起来是一个非常困难的问题,因为有许多可能的类,而特征中用于区分它们的信息很少。根据记录,根据路线估算旅行时间的逆向问题可能更可行。

所以你不能指望在这样的问题上有很好的表现,我们的目标是以一种使事情尽可能简单的方式设计问题,以便分类器完成足够体面的工作。以下是一些建议:

  1. 从训练特定于一对 BSTN、ASTN 的模型开始。
  2. 丢弃最不可能的路由,即很少用于 BSTN,ASTN 对的路由(例如频率低于 10 的路由)。
  3. 检查数据以查看功能是否允许区分(主要)类。例如,您可以绘制不同路线的 BSEC、TFtime、Ttime 分布:如果分布接近,则分类器成功的可能性很小。您还可以训练决策树并手动检查它,看看会发生什么。